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;
}

posted @ 2021-10-25 11:41  剑客猫  阅读(92)  评论(0编辑  收藏  举报