wxRegKey

wxRegKey is a class representing the Windows registry. One can create, query and delete registry keys using this class.

The Windows registry is easy to understand. There are five registry keys, namely:

  1. HKEY_CLASSES_ROOT (HKCR)
  2. HKEY_CURRENT_USER (HKCU)
  3. HKEY_LOCAL_MACHINE (HKLM)
  4. HKEY_CURRENT_CONFIG (HKCC)
  5. HKEY_USERS (HKU)

After creating a key, it can hold a value. The values can be:

  1. String Value
  2. Binary Value
  3. DWORD Value
  4. Multi String Value
  5. Expandable String Value

Derived from

None

Include files

<wx/config.h>

Example

wxRegKey *pRegKey = new wxRegKey("HKEY_LOCAL_MACHINE\\Software\\MyKey");

//will create the Key if it does not exist
if( !pRegKey->Exists() )
    pRegKey->Create();

//will create a new value MYVALUE and set it to 12
pRegKey->SetValue("MYVALUE",12);

//Query for the Value and Retrieve it
long lMyVal;
wxString strTemp;
pRegKey->QueryValue("MYVALUE",&lMyVal); 
strTemp.Printf("%d",lMyVal);
wxMessageBox(strTemp,"Registry Value",0,this);

//Retrive the number of SubKeys and enumerate them
size_t nSubKeys;
pRegKey->GetKeyInfo(&nSubKeys,NULL,NULL,NULL);

pRegKey->GetFirstKey(strTemp,1);
for(int i=0;i<nSubKeys;i++)
{
     wxMessageBox(strTemp,"SubKey Name",0,this);
     pRegKey->GetNextKey(strTemp,1);
}



wxRegKey::wxRegKey



wxRegKey(void)

The Constructor to set to HKCR



wxRegKey(const wxString& strKey)

The constructor to set the full name of the key.



wxRegKey(const wxRegKey& keyParent, const wxString& strKey)

The constructor to set the full name of the key under a previously created parent.



wxRegKey::Close



void Close(void)

Closes the key.



wxRegKey::Create



bool Create(bool bOkIfExists = true)

Creates the key. Will fail if the key already exists and bOkIfExists is false.



wxRegKey::DeleteSelf



void DeleteSelf(void)

Deletes this key and all of its subkeys and values recursively.



wxRegKey::DeleteKey



void DeleteKey(const wxChar * szKey)

Deletes the subkey with all of its subkeys/values recursively.



wxRegKey::DeleteValue



void DeleteValue(const wxChar * szKey)

Deletes the named value.



wxRegKey::Exists

static bool Exists(void) const

Returns true if the key exists.



wxRegKey::GetName

wxString GetName(bool bShortPrefix = true) const

Gets the name of the registry key.



wxRegKey::GetFirstKey



bool GetKeyValue(wxString& strKeyName, long& lIndex)

Gets the first key.



wxRegKey::GetFirstValue



bool GetFirstValue(wxString& strValueName, long& lIndex)

Gets the first value of this key.



wxRegKey::GetKeyInfo

bool Exists(size_t * pnSubKeys, size_t * pnValues, size_t * pnMaxValueLen) const

Gets information about the key.

Parameters

pnSubKeys
The number of subkeys.

pnMaxKeyLen
The maximum length of the subkey name.

pnValues
The number of values.



wxRegKey::GetNextKey

bool GetNextKey(wxString& strKeyName, long& lIndex) const

Gets the next key.



wxRegKey::GetNextValue

bool GetNextValue(wxString& strValueName, long& lIndex) const

Gets the next key value for this key.



wxRegKey::HasValue

bool HasValue(const wxChar * szValue) const

Returns true if the value exists.



wxRegKey::HasValues

bool HasValues(void) const

Returns true if any values exist.



wxRegKey::HasSubKey

bool HasSubKey(const wxChar * szKey) const

Returns true if given subkey exists.



wxRegKey::HasSubKeys

bool HasSubKeys(void) const

Returns true if any subkeys exist.



wxRegKey::IsEmpty

bool IsEmpty(void) const

Returns true if this key is empty, nothing under this key.



wxRegKey::IsOpened

bool IsOpened(void) const

Returns true if the key is opened.



wxRegKey::Open



bool Open(void)

Explicitly opens the key to be opened.



wxRegKey::QueryValue

bool QueryValue(const wxChar * szValue, wxString& strValue) const

Retrieves the string value.

bool QueryValue(const wxChar * szValue, long * plValue) const

Retrieves the numeric value.



wxRegKey::Rename



bool Rename(const wxChar * szNewName)

Renames the key.



wxRegKey::RenameValue



bool RenameValue(const wxChar * szValueOld, const wxChar * szValueNew)

Renames a value.



wxRegKey::SetValue



bool SetValue(const wxChar * szValue, long lValue)

Sets the numeric value.

ymasuda 平成17年11月19日