]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/regkey.tex
API change: a single SELECTION_CHANGED not lots of SELECT and UNSELECT events
[wxWidgets.git] / docs / latex / wx / regkey.tex
CommitLineData
38b9e339
RN
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name: regkey.tex
3%% Purpose: wxRegKey docs
4%% Author: Ryan Norton <wxprojects@comcast.net>, C.C.Chakkaradeep
5%% Modified by:
6%% Created: 2/5/2005
7%% RCS-ID: $Id$
8%% Copyright: (c) Ryan Norton (C.C.Chakkaradeep?)
9%% License: wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12\section{\class{wxRegKey}}\label{wxregkey}
13
6ded0416
VZ
14wxRegKey is a class representing the Windows registry (it is only available
15under Windows). One can create, query and delete registry keys using this
16class.
38b9e339 17
6ded0416
VZ
18The Windows registry is easy to understand. There are five registry keys,
19namely:
38b9e339 20
5e091b2b
WS
21\begin{enumerate}\itemsep=0pt
22\item HKEY\_CLASSES\_ROOT (HKCR)
23\item HKEY\_CURRENT\_USER (HKCU)
24\item HKEY\_LOCAL\_MACHINE (HKLM)
25\item HKEY\_CURRENT\_CONFIG (HKCC)
26\item HKEY\_USERS (HKU)
27\end{enumerate}
38b9e339 28
0827d10b 29After creating a key, it can hold a value. The values can be:
38b9e339 30
5e091b2b
WS
31\begin{enumerate}\itemsep=0pt
32\item String Value
33\item Binary Value
34\item DWORD Value
35\item Multi String Value
36\item Expandable String Value
37\end{enumerate}
38
39\wxheading{Derived from}
40
41None
42
43\wxheading{Include files}
44
6ded0416 45<wx/msw/registry.h>
5e091b2b 46
a7af285d
VZ
47\wxheading{Library}
48
49\helpref{wxBase}{librarieslist}
50
5e091b2b 51\wxheading{Example}
38b9e339 52
38b9e339
RN
53\begin{verbatim}
54wxRegKey *pRegKey = new wxRegKey("HKEY_LOCAL_MACHINE\\Software\\MyKey");
55
56//will create the Key if it does not exist
57if( !pRegKey->Exists() )
58 pRegKey->Create();
59
60//will create a new value MYVALUE and set it to 12
61pRegKey->SetValue("MYVALUE",12);
62
63//Query for the Value and Retrieve it
64long lMyVal;
65wxString strTemp;
66pRegKey->QueryValue("MYVALUE",&lMyVal);
67strTemp.Printf("%d",lMyVal);
68wxMessageBox(strTemp,"Registry Value",0,this);
69
70//Retrive the number of SubKeys and enumerate them
71size_t nSubKeys;
72pRegKey->GetKeyInfo(&nSubKeys,NULL,NULL,NULL);
73
74pRegKey->GetFirstKey(strTemp,1);
75for(int i=0;i<nSubKeys;i++)
76{
77 wxMessageBox(strTemp,"SubKey Name",0,this);
78 pRegKey->GetNextKey(strTemp,1);
79}
80\end{verbatim}
81
5e091b2b 82\latexignore{\rtfignore{\wxheading{Members}}}
38b9e339 83
6774a5d3 84
5e091b2b 85\membersection{wxRegKey::wxRegKey}\label{wxregkeyctor}
38b9e339
RN
86
87\func{}{wxRegKey}{\void}
88
89The Constructor to set to HKCR
90
0827d10b 91\func{}{wxRegKey}{\param{const wxString\&}{ strKey}}
38b9e339
RN
92
93The constructor to set the full name of the key.
94
0827d10b 95\func{}{wxRegKey}{\param{const wxRegKey\&}{ keyParent}, \param{const wxString\&}{ strKey}}
38b9e339 96
0827d10b 97The constructor to set the full name of the key under a previously created parent.
38b9e339 98
6774a5d3 99
38b9e339
RN
100\membersection{wxRegKey::Close}\label{wxregkeyclose}
101
102\func{void}{Close}{\void}
103
0827d10b 104Closes the key.
38b9e339 105
6774a5d3 106
38b9e339
RN
107\membersection{wxRegKey::Create}\label{wxregkeycreate}
108
5e091b2b 109\func{bool}{Create}{\param{bool }{bOkIfExists = true}}
38b9e339 110
0827d10b 111Creates the key. Will fail if the key already exists and {\it bOkIfExists} is false.
38b9e339 112
6774a5d3 113
38b9e339
RN
114\membersection{wxRegKey::DeleteSelf}\label{wxregkeydeleteself}
115
116\func{void}{DeleteSelf}{\void}
117
0827d10b 118Deletes this key and all of its subkeys and values recursively.
38b9e339 119
6774a5d3 120
38b9e339
RN
121\membersection{wxRegKey::DeleteKey}\label{wxregkeydeletekey}
122
123\func{void}{DeleteKey}{\param{const wxChar *}{szKey}}
124
0827d10b 125Deletes the subkey with all of its subkeys/values recursively.
38b9e339 126
6774a5d3 127
38b9e339
RN
128\membersection{wxRegKey::DeleteValue}\label{wxregkeydeletevalue}
129
130\func{void}{DeleteValue}{\param{const wxChar *}{szKey}}
131
0827d10b 132Deletes the named value.
38b9e339 133
6774a5d3 134
38b9e339
RN
135\membersection{wxRegKey::Exists}\label{wxregkeyexists}
136
137\constfunc{static bool}{Exists}{\void}
138
0827d10b 139Returns true if the key exists.
38b9e339 140
6774a5d3 141
38b9e339
RN
142\membersection{wxRegKey::GetName}\label{wxregkeygetname}
143
5e091b2b 144\constfunc{wxString}{GetName}{\param{bool }{bShortPrefix = true}}
38b9e339 145
0827d10b 146Gets the name of the registry key.
38b9e339 147
6774a5d3 148
38b9e339
RN
149\membersection{wxRegKey::GetFirstKey}\label{wxregkeygetfirstkey}
150
4f0cd9b6 151\func{bool}{GetFirstKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
38b9e339 152
0827d10b 153Gets the first key.
38b9e339 154
6774a5d3 155
38b9e339
RN
156\membersection{wxRegKey::GetFirstValue}\label{wxregkeygetfirstvalue}
157
0827d10b 158\func{bool}{GetFirstValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
38b9e339 159
0827d10b 160Gets the first value of this key.
38b9e339 161
6774a5d3 162
38b9e339
RN
163\membersection{wxRegKey::GetKeyInfo}\label{wxregkeygetkeyinfo}
164
165\constfunc{bool}{Exists}{\param{size\_t *}{pnSubKeys}, \param{size\_t *}{pnValues}, \param{size\_t *}{pnMaxValueLen}}
166
0827d10b 167Gets information about the key.
38b9e339 168
0827d10b 169\wxheading{Parameters}
38b9e339 170
0827d10b 171\docparam{pnSubKeys}{The number of subkeys.}
38b9e339 172
0827d10b
JS
173\docparam{pnMaxKeyLen}{The maximum length of the subkey name.}
174
175\docparam{pnValues}{The number of values.}
38b9e339 176
6774a5d3 177
0827d10b 178\membersection{wxRegKey::GetNextKey}\label{wxregkeygetnextkey}
38b9e339 179
0827d10b 180\constfunc{bool}{GetNextKey}{\param{wxString\&}{ strKeyName}, \param{long\&}{ lIndex}}
38b9e339 181
0827d10b 182Gets the next key.
38b9e339 183
6774a5d3 184
38b9e339
RN
185\membersection{wxRegKey::GetNextValue}\label{wxregkeygetnextvalue}
186
0827d10b 187\constfunc{bool}{GetNextValue}{\param{wxString\&}{ strValueName}, \param{long\&}{ lIndex}}
38b9e339 188
0827d10b 189Gets the next key value for this key.
38b9e339 190
6774a5d3 191
38b9e339
RN
192\membersection{wxRegKey::HasValue}\label{wxregkeyhasvalue}
193
194\constfunc{bool}{HasValue}{\param{const wxChar *}{szValue}}
195
0827d10b 196Returns true if the value exists.
38b9e339 197
6774a5d3 198
38b9e339
RN
199\membersection{wxRegKey::HasValues}\label{wxregkeyhasvalues}
200
201\constfunc{bool}{HasValues}{\void}
202
0827d10b 203Returns true if any values exist.
38b9e339 204
6774a5d3 205
38b9e339
RN
206\membersection{wxRegKey::HasSubKey}\label{wxregkeyhassubkey}
207
208\constfunc{bool}{HasSubKey}{\param{const wxChar *}{szKey}}
209
0827d10b 210Returns true if given subkey exists.
38b9e339 211
6774a5d3 212
38b9e339
RN
213\membersection{wxRegKey::HasSubKeys}\label{wxregkeyhassubkeys}
214
215\constfunc{bool}{HasSubKeys}{\void}
216
0827d10b 217Returns true if any subkeys exist.
38b9e339 218
6774a5d3 219
38b9e339
RN
220\membersection{wxRegKey::IsEmpty}\label{wxregkeyisempty}
221
222\constfunc{bool}{IsEmpty}{\void}
223
0827d10b 224Returns true if this key is empty, nothing under this key.
38b9e339 225
6774a5d3 226
38b9e339
RN
227\membersection{wxRegKey::IsOpened}\label{wxregkeyisopened}
228
229\constfunc{bool}{IsOpened}{\void}
230
0827d10b 231Returns true if the key is opened.
38b9e339 232
6774a5d3 233
38b9e339
RN
234\membersection{wxRegKey::Open}\label{wxregkeyopen}
235
6774a5d3
VZ
236\func{bool}{Open}{\param{AccessMode }{mode = Write}}
237
238Explicitly opens the key. This method also allows the key to be opened in
239read-only mode by passing \texttt{wxRegKey::Read} instead of default
240\texttt{wxRegKey::Write} parameter.
38b9e339 241
38b9e339
RN
242
243\membersection{wxRegKey::QueryValue}\label{wxregkeyqueryvalue}
244
0827d10b 245\constfunc{bool}{QueryValue}{\param{const wxChar *}{szValue}, \param{wxString\&}{ strValue}}
38b9e339 246
0827d10b 247Retrieves the string value.
38b9e339
RN
248
249\constfunc{bool}{QueryValue}{\param{const wxChar *}{szValue}, \param{long *}{plValue}}
250
0827d10b 251Retrieves the numeric value.
38b9e339 252
6774a5d3 253
38b9e339
RN
254\membersection{wxRegKey::Rename}\label{wxregkeyrename}
255
256\func{bool}{Rename}{\param{const wxChar *}{ szNewName}}
257
0827d10b 258Renames the key.
38b9e339 259
6774a5d3 260
38b9e339
RN
261\membersection{wxRegKey::RenameValue}\label{wxregkeyrenamevalue}
262
263\func{bool}{RenameValue}{\param{const wxChar *}{szValueOld}, \param{const wxChar *}{szValueNew}}
264
0827d10b 265Renames a value.
38b9e339 266
6774a5d3 267
38b9e339
RN
268\membersection{wxRegKey::SetValue}\label{wxregkeysetvalue}
269
0827d10b
JS
270\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{long}{ lValue}}
271
46512126
VZ
272\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxString\&}{ strValue}}
273
274\func{bool}{SetValue}{\param{const wxChar *}{szValue}, \param{const wxMemoryBuffer\&}{ buf}}
275
276Sets the given \arg{szValue} which must be numeric, string or binary depending
277on the overload used. If the value doesn't exist, it is created.
38b9e339 278