\section{\class{wxRegKey}}\label{wxregkey}
-wxRegKey is a class representing the Windows registry. One can create, query and delete registry keys using this class.
+wxRegKey is a class representing the Windows registry (it is only available
+under Windows). One can create, query and delete registry keys using this
+class.
-The Windows registry is easy to understand. There are five registry keys, namely:
+The Windows registry is easy to understand. There are five registry keys,
+namely:
\begin{enumerate}\itemsep=0pt
\item HKEY\_CLASSES\_ROOT (HKCR)
\wxheading{Include files}
-<wx/config.h>
+<wx/msw/registry.h>
\wxheading{Example}
\latexignore{\rtfignore{\wxheading{Members}}}
+
\membersection{wxRegKey::wxRegKey}\label{wxregkeyctor}
\func{}{wxRegKey}{\void}
The constructor to set the full name of the key under a previously created parent.
+
\membersection{wxRegKey::Close}\label{wxregkeyclose}
\func{void}{Close}{\void}
Closes the key.
+
\membersection{wxRegKey::Create}\label{wxregkeycreate}
\func{bool}{Create}{\param{bool }{bOkIfExists = true}}
Creates the key. Will fail if the key already exists and {\it bOkIfExists} is false.
+
\membersection{wxRegKey::DeleteSelf}\label{wxregkeydeleteself}
\func{void}{DeleteSelf}{\void}
Deletes this key and all of its subkeys and values recursively.
+
\membersection{wxRegKey::DeleteKey}\label{wxregkeydeletekey}
\func{void}{DeleteKey}{\param{const wxChar *}{szKey}}
Deletes the subkey with all of its subkeys/values recursively.
+
\membersection{wxRegKey::DeleteValue}\label{wxregkeydeletevalue}
\func{void}{DeleteValue}{\param{const wxChar *}{szKey}}
Deletes the named value.
+
\membersection{wxRegKey::Exists}\label{wxregkeyexists}
\constfunc{static bool}{Exists}{\void}
Returns true if the key exists.
+
\membersection{wxRegKey::GetName}\label{wxregkeygetname}
\constfunc{wxString}{GetName}{\param{bool }{bShortPrefix = true}}
Gets the name of the registry key.
+
\membersection{wxRegKey::GetFirstKey}\label{wxregkeygetfirstkey}
-\func{bool}{GetKeyValue}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
+\func{bool}{GetFirstKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
Gets the first key.
+
\membersection{wxRegKey::GetFirstValue}\label{wxregkeygetfirstvalue}
\func{bool}{GetFirstValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
Gets the first value of this key.
+
\membersection{wxRegKey::GetKeyInfo}\label{wxregkeygetkeyinfo}
\constfunc{bool}{Exists}{\param{size\_t *}{pnSubKeys}, \param{size\_t *}{pnValues}, \param{size\_t *}{pnMaxValueLen}}
\docparam{pnValues}{The number of values.}
+
\membersection{wxRegKey::GetNextKey}\label{wxregkeygetnextkey}
\constfunc{bool}{GetNextKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
Gets the next key.
+
\membersection{wxRegKey::GetNextValue}\label{wxregkeygetnextvalue}
\constfunc{bool}{GetNextValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
Gets the next key value for this key.
+
\membersection{wxRegKey::HasValue}\label{wxregkeyhasvalue}
\constfunc{bool}{HasValue}{\param{const wxChar *}{szValue}}
Returns true if the value exists.
+
\membersection{wxRegKey::HasValues}\label{wxregkeyhasvalues}
\constfunc{bool}{HasValues}{\void}
Returns true if any values exist.
+
\membersection{wxRegKey::HasSubKey}\label{wxregkeyhassubkey}
\constfunc{bool}{HasSubKey}{\param{const wxChar *}{szKey}}
Returns true if given subkey exists.
+
\membersection{wxRegKey::HasSubKeys}\label{wxregkeyhassubkeys}
\constfunc{bool}{HasSubKeys}{\void}
Returns true if any subkeys exist.
+
\membersection{wxRegKey::IsEmpty}\label{wxregkeyisempty}
\constfunc{bool}{IsEmpty}{\void}
Returns true if this key is empty, nothing under this key.
+
\membersection{wxRegKey::IsOpened}\label{wxregkeyisopened}
\constfunc{bool}{IsOpened}{\void}
Returns true if the key is opened.
+
\membersection{wxRegKey::Open}\label{wxregkeyopen}
-\func{bool}{Open}{\void}
+\func{bool}{Open}{\param{AccessMode }{mode = Write}}
+
+Explicitly opens the key. This method also allows the key to be opened in
+read-only mode by passing \texttt{wxRegKey::Read} instead of default
+\texttt{wxRegKey::Write} parameter.
-Explicitly opens the key to be opened.
\membersection{wxRegKey::QueryValue}\label{wxregkeyqueryvalue}
Retrieves the numeric value.
+
\membersection{wxRegKey::Rename}\label{wxregkeyrename}
\func{bool}{Rename}{\param{const wxChar *}{ szNewName}}
Renames the key.
+
\membersection{wxRegKey::RenameValue}\label{wxregkeyrenamevalue}
\func{bool}{RenameValue}{\param{const wxChar *}{szValueOld}, \param{const wxChar *}{szValueNew}}
Renames a value.
+
\membersection{wxRegKey::SetValue}\label{wxregkeysetvalue}
\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{long}{ lValue}}
-Sets the numeric value.
+\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxString\&}{ strValue}}
+
+\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxMemoryBuffer\&}{ buf}}
+
+Sets the given \arg{szValue} which must be numeric, string or binary depending
+on the overload used. If the value doesn't exist, it is created.