检测cpu型号

来源:互联网 发布:淘宝的利弊800字 编辑:程序博客网 时间:2024/05/02 00:28

在 Windows XP 和 Windows 2003 Server 系统上,用WMI无法正确的取得cpu型号。官方的解决方案是安装补丁。但软件开发者不可能要求用户去安装补丁,所以还是从注册表获取cpu 信息吧。

 

方法如下:

 

BOOL GetProcessorName(CString & strProcessorName)  
{  
 LONG res = ERROR_SUCCESS;
 HKEY hKey = NULL;
 wchar_t ProcessorNameString[256] = {0};
 strProcessorName.Empty();
 res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Hardware//Description//System//CentralProcessor//0", 0, KEY_QUERY_VALUE, &hKey);
 if(res != ERROR_SUCCESS)
  return FALSE;

 DWORD dataSize = sizeof(ProcessorNameString);
 res = RegQueryValueEx(hKey, L"ProcessorNameString", NULL, NULL, (LPBYTE)ProcessorNameString, &dataSize);

 RegCloseKey(hKey);
 if(res != ERROR_SUCCESS)
 {
    return FALSE;
 }

 strProcessorName = ProcessorNameString;
 return TRUE;
}