The RegOpenKeyEx function opens the specified registry key. LONG RegOpenKeyEx( HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ); The RegSetValueEx function sets the data and type of a specified value under a registry key. LONG RegSetValueEx( HKEY hKey, LPCTSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData );The RegQueryValueEx function retrieves the type and data for a specified value name associated with an open registry key. LONG RegQueryValueEx( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData );
写注册表~ RegCreateKeyEx() RegSetValueEx()
读注册表~ RegOpenKeyEx() RegQueryValueEx()
http://www.china-askpro.com/msg1/qa12.shtml
给你个我以前用的函数:void WriteProfile(LPTSTR section, LPCTSTR key, DWORD dwType, CONST BYTE *lpData, DWORD cbData) { HKEY key1,key2,key3,key4; DWORD d; if (ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_READ,&key1)) { if (ERROR_SUCCESS==RegCreateKeyEx(key1,"管理系统",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key2,&d)) { if (ERROR_SUCCESS==RegCreateKeyEx(key2,"客户管理",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key3,&d)) { if (ERROR_SUCCESS==RegCreateKeyEx(key3, section,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key4,&d)) { RegSetValueEx(key4, key, 0, dwType, lpData, cbData); RegCloseKey(key4); } RegCloseKey(key3); } RegCloseKey(key2); } RegCloseKey(key1); } } void GetProfile(LPTSTR section, LPTSTR key, LPBYTE lpData, DWORD cbData) { HKEY key1,key2,key3,key4; if (ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_READ,&key1)) { if (ERROR_SUCCESS==RegOpenKeyEx(key1,"管理系统",0,KEY_READ,&key2)) { if (ERROR_SUCCESS==RegOpenKeyEx(key2,"客户管理",0,KEY_READ,&key3)) {
LONG RegOpenKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult
);
The RegSetValueEx function sets the data and type of a specified value under a registry key.
LONG RegSetValueEx(
HKEY hKey,
LPCTSTR lpValueName,
DWORD Reserved,
DWORD dwType,
const BYTE* lpData,
DWORD cbData
);The RegQueryValueEx function retrieves the type and data for a specified value name associated with an open registry key.
LONG RegQueryValueEx(
HKEY hKey,
LPCTSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
RegCreateKeyEx()
RegSetValueEx()
RegOpenKeyEx()
RegQueryValueEx()
{
HKEY key1,key2,key3,key4;
DWORD d;
if (ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_READ,&key1))
{
if (ERROR_SUCCESS==RegCreateKeyEx(key1,"管理系统",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key2,&d))
{
if (ERROR_SUCCESS==RegCreateKeyEx(key2,"客户管理",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key3,&d))
{
if (ERROR_SUCCESS==RegCreateKeyEx(key3, section,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key4,&d))
{
RegSetValueEx(key4, key, 0, dwType, lpData, cbData);
RegCloseKey(key4);
}
RegCloseKey(key3);
}
RegCloseKey(key2);
}
RegCloseKey(key1);
}
}
void GetProfile(LPTSTR section, LPTSTR key, LPBYTE lpData, DWORD cbData)
{
HKEY key1,key2,key3,key4; if (ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_READ,&key1))
{
if (ERROR_SUCCESS==RegOpenKeyEx(key1,"管理系统",0,KEY_READ,&key2))
{
if (ERROR_SUCCESS==RegOpenKeyEx(key2,"客户管理",0,KEY_READ,&key3))
{
if (ERROR_SUCCESS==RegOpenKeyEx(key3,section,0,KEY_READ,&key4))
{
RegQueryValueEx(key4, key, 0, 0, lpData, &cbData);
RegCloseKey(key4);
}
RegCloseKey(key3);
}
RegCloseKey(key2);
}
RegCloseKey(key1); }}
调用:
WriteProfile("settings","Flag",REG_SZ,(LPBYTE)"2",2) ;GetProfile("Settings","flag", (unsigned char *)&flag,2);