void CGetInfoDlg::GetCPUInfo()
{
// TODO: 在此处添加实现代码.
HKEY hKey;
LPCTSTR subKey = _T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
TCHAR cpuName[MAX_PATH], cpuPublisher[MAX_PATH], identifier[MAX_PATH];
DWORD cpuSpeed = 0;
DWORD valueSize = MAX_PATH;
if (RegQueryValueExW(hKey, _T("ProcessorNameString"), NULL, NULL, (LPBYTE)cpuName, &valueSize) == ERROR_SUCCESS)
{
CString strcpuName(cpuName);
CString cpuname(_T("CPU名称:"));
m_cpuName.SetWindowTextW(cpuname + strcpuName);
}
valueSize = MAX_PATH;
if (RegQueryValueExW(hKey, _T("~MHZ"), NULL, NULL, (LPBYTE)&cpuSpeed, &valueSize) == ERROR_SUCCESS)
{
CString strcpuSpeed;
strcpuSpeed.Format(_T("%lu"), cpuSpeed);
CString cpuspeed(_T("CPU速度:"));
m_cpuSpeed.SetWindowTextW(cpuspeed + strcpuSpeed);
}
valueSize = MAX_PATH;
if (RegQueryValueExW(hKey, _T("VendorIdentifier"), NULL, NULL, (LPBYTE)cpuPublisher, &valueSize) == ERROR_SUCCESS)
{
CString strcpuPublisher(cpuPublisher);
CString cpupublisher(_T("CPU生产厂商:"));
m_cpuPublisher.SetWindowTextW(cpupublisher + strcpuPublisher);
}
valueSize = MAX_PATH;
if (RegQueryValueExW(hKey, _T("Identifier"), NULL, NULL, (LPBYTE)identifier, &valueSize) == ERROR_SUCCESS)
{
CString strIdentifier(identifier);
CString Identifier(_T("用户编程名:"));
m_identifier.SetWindowTextW(Identifier + strIdentifier);
}
RegCloseKey(hKey);
}
}
10-13
06-21
10-02
1320
