A Registry Class






4.54/5 (25 votes)
Aug 7, 2001
2 min read

216111

2681
A class that makes it easy to work with the registry
Overview
I created this class to make it easy to work
with the Registry. For this I created the CRegistry
class.
The CRegistry Class
The CRegistry
class has a set of functions that make using the
registry easy.
CRegistry::OpenKey
The OpenKey
opens the specified registry key.
BOOL OpenKey(enum Keys hKey, LPCTSTR szKey);
Parameters
enum Keys hKey
- Handle to any of the following predefined values:
CRegistry::classesRoot
CRegistry::currentUser
CRegistry::localMachine
CRegistry::currentConfig
CRegistry::users
Windows NT/2000:
CRegistry::performanceData
Windows 95/98:
CRegistry::dynData
LPCTSTR szKey
- Pointer to a null-terminated string containing the name of the key to open.
If the function succeeds, this returns TRUE
.
CRegistry pReg; pReg.OpenKey(CRegistry::currentUser, "Entry1\\carlos1"); CString str = _T(""); if(pReg.GetValue("SZVAL1", str)) AfxMessageBox("The Value SZVAL1 don't exists", MB_ICONWARNING); DWORD dwVal = 0; pReg.GetValue("DWVAL", dwVal); pReg.GetValue(NULL, str); pReg.CloseKey();
CRegistry::CreateKey
The CreateKey
function creates the specified registry key. If the key already exists in the registry,
the function opens it.
BOOL CreateKey(enum Keys hKey, LPCTSTR szKey);
Parameters
enum Keys hKey
- Handle to any of the following predefined values:
CRegistry::classesRoot
CRegistry::currentUser
CRegistry::localMachine
CRegistry::currentConfig
CRegistry::users
Windows NT/2000:
CRegistry::performanceData
Windows 95/98:
CRegistry::dynData
LPCTSTR szKey
- Pointer to a null-terminated string containing the name of the key to open or
create.
If the function succeeds, this returns TRUE
.
CRegistry::DeleteKey
The DeleteKey
function deletes a subkey.
BOOL DeleteKey(enum Keys hKey, LPCTSTR szKey);
Parameters
enum Keys hKey
- Handle to any of the following predefined values:
CRegistry::classesRoot
CRegistry::currentUser
CRegistry::localMachine
CRegistry::currentConfig
CRegistry::users
Windows NT/2000:
CRegistry::performanceData
Windows 95/98:
CRegistry::dynData
LPCTSTR szKey
- Pointer to a null-terminated string containing the name of the key to delete.
If the function succeeds, this returns TRUE
.
CRegistry::GetValue
The GetValue
function retrieves the data for a specified value name from the open registry key.
BOOL GetValue(LPCTSTR lpValueName, CString& strValue); BOOL GetValue(LPCTSTR lpValueName, DWORD& dwValue);
Parameters
LPCTSTR lpValueName
- Pointer to a null-terminated string containing the name of the value to get
CString& strValue
- Pointer to a buffer that receives the value's data
DWORD& dwValue
- Pointer to a buffer that receives the value's data
If the function succeeds, this returns TRUE
.
CRegistry::SetValue
The SetValue
function sets the data and type of a specified value
under a registry key.
BOOL SetValue(LPCTSTR lpValueName, LPCTSTR lpData); BOOL SetValue(LPCTSTR lpValueName, DWORD dwValue);
Parameters
LPCTSTR lpValueName
- Pointer to a null-terminated string containing the name of the value to
set
CString& strValue
- Pointer to a buffer containing the data to be stored with the specified value
name
DWORD& dwValue
- Pointer to a buffer containing the data to be stored with the specified value
name
If the function succeeds, this returns TRUE
.
pReg.OpenKey(CRegistry::currentUser, "Entry1\\carlos1"); pReg.SetValue("SZVAL", "STRVAL"); pReg.SetValue(NULL, "default"); pReg.SetValue("DWVAL", 34); pReg.CloseKey();
CRegistry::DeleteValue
The DeleteValue
function removes a named value from the specified registry key
BOOL DeleteValue(LPCTSTR lpValueName);
Parameters
LPCTSTR lpValueName
- Pointer to a null-terminated string that names the value to remove.
If the function succeeds, this returns TRUE
.
CRegistry pReg; pReg.OpenKey(CRegistry::currentUser, "Entry1\\carlos1"); pReg.DeleteValue("SZVAL"); pReg.CloseKey();
CRegistry::CloseKey
The CloseKey
function closes the registry key.
void CloseKey();
Updates
04 August 2001: Version 1.0 Released.