windows注册表的读
1、打开
2、读取
//打开注册表
CString CDownDlg::GetPortCom(int nmber)//读取操作表,其类型为REG_SZ
{
CString ans;
CString res;
CString str;
CString sum_data_set = _T("你要打开的子健");
//例如\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY hkey;
LPCTSTR data_set = sum_data_set;
//RegOpenKeyEx打开注册表
if (ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_set, 0, KEY_READ, &hkey))
{
char dwValue[256];
DWORD dwSzType = REG_SZ;
DWORD dwSize = sizeof(dwValue);
//FriendlyName你要查询的项
//RegQueryValueEx读取注册表里面的东西
if (::RegQueryValueEx(hkey, _T("FriendlyName"), NULL, &dwSzType, (LPBYTE)&dwValue, &dwSize) != ERROR_SUCCESS)
{
/*
LONG RegQueryValueEx(
HKEY hKey, // 要查询键的句柄
LPTSTR lpValueName, // 要查询值的名字的地址
LPDWORD lpReserved, // 保留
LPDWORD lpType, // 值类型缓存地址
LPBYTE lpData, // 数据缓存地址
LPDWORD lpcbData // 数据缓存大小地址)
*/
ans = _T("查询失败");
return ans;
}
str.Format(_T("%s"), dwValue);
}
//释放
::RegCloseKey(hkey);
return str;
}