1. 读取注册表示例
wstring path = _T("");
//从注册表读取路径
HKEY RootKey = HKEY_LOCAL_MACHINE;
HKEY hKey;
//打开主键
CString strSubKey = _T("\\Services\\GPSServ");
long nRet = RegOpenKeyEx(RootKey,strSubKey,0,KEY_WRITE|KEY_READ,&hKey);
if(nRet != ERROR_SUCCESS)
{
return -1;
}
int tsize = sizeof(TCHAR);
TCHAR sKeyValue[256] = {0};
DWORD dwType = REG_SZ;
DWORD dwSize = sizeof(sKeyValue);
//注意,这里必须指定存放读出数据的数组sKeyValue的大小,否则读不出数据,同时,这个值又作为读取值的实际值大小的输出
nRet = RegQueryValueEx(hKey,_T("Dll"),NULL,&dwType,(LPBYTE)sKeyValue,&dwSize);
if(nRet == ERROR_SUCCESS)
{
(_tcsrchr(sKeyValue, _T('\\')))[1] = 0;
path.append(sKeyValue);
path.append(_T("\\config.db"));
}
else
{
path.append(_T("\\Windows\\config.db"));
}
//关闭注册表
RegCloseKey(hKey);