CString strPath = _T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");//注册表子键路径
CRegKey regkey;//定义注册表类对象
LONG lResult;//LONG型变量-反应结果
lResult = regkey.Open(HKEY_LOCAL_MACHINE, LPCTSTR(strPath), KEY_ALL_ACCESS); //打开注册表键
if (lResult != ERROR_SUCCESS)
{
return;
}
DWORD dwSize = 128;
//获取ProcessorNameString字段值
if (ERROR_SUCCESS == regkey.QueryStringValue(_T("ProcessorNameString"), memorycpu.ProcessorName, &dwSize))
{
printf("%S\n", memorycpu.ProcessorName);
}
//查询CPU主频
// DWORD dwValue;
if (ERROR_SUCCESS == regkey.QueryDWORDValue(_T("~MHz"), memorycpu.dwMaxClockSpeed))
{
printf("处理器频率:%ld\n", memorycpu.dwMaxClockSpeed);
}
regkey.Close();//关闭注册表
//获取CPU核心数目
SYSTEM_INFO si;
memset(&si, 0, sizeof(SYSTEM_INFO));
GetSystemInfo(&si);
memorycpu.dwNum = si.dwNumberOfProcessors;
switch (si.dwProcessorType)
{
case PROCESSOR_INTEL_386:
{
memcpy(memorycpu.ProcessorType, _T("Intel 386 processor"), 128);
}
break;
case PROCESSOR_INTEL_486:
{
memcpy(memorycpu.ProcessorType, _T("Intel 486 Processor"), 128);
}
break;
case PROCESSOR_INTEL_PENTIUM:
{
memcpy(memorycpu.ProcessorType, _T("Intel Pentium Processor"), 128);
}
break;
case PROCESSOR_INTEL_IA64:
{
memcpy(memorycpu.ProcessorType, _T("Intel IA64 Processor"), 128);
}
break;
case PROCESSOR_AMD_X8664:
{
memcpy(memorycpu.ProcessorType, _T("AMD X8664 Processor"), 128);
}
break;
default:
memcpy(memorycpu.ProcessorType, _T("未知"), 128);
break;
CRegKey regkey;//定义注册表类对象
LONG lResult;//LONG型变量-反应结果
lResult = regkey.Open(HKEY_LOCAL_MACHINE, LPCTSTR(strPath), KEY_ALL_ACCESS); //打开注册表键
if (lResult != ERROR_SUCCESS)
{
return;
}
DWORD dwSize = 128;
//获取ProcessorNameString字段值
if (ERROR_SUCCESS == regkey.QueryStringValue(_T("ProcessorNameString"), memorycpu.ProcessorName, &dwSize))
{
printf("%S\n", memorycpu.ProcessorName);
}
//查询CPU主频
// DWORD dwValue;
if (ERROR_SUCCESS == regkey.QueryDWORDValue(_T("~MHz"), memorycpu.dwMaxClockSpeed))
{
printf("处理器频率:%ld\n", memorycpu.dwMaxClockSpeed);
}
regkey.Close();//关闭注册表
//获取CPU核心数目
SYSTEM_INFO si;
memset(&si, 0, sizeof(SYSTEM_INFO));
GetSystemInfo(&si);
memorycpu.dwNum = si.dwNumberOfProcessors;
switch (si.dwProcessorType)
{
case PROCESSOR_INTEL_386:
{
memcpy(memorycpu.ProcessorType, _T("Intel 386 processor"), 128);
}
break;
case PROCESSOR_INTEL_486:
{
memcpy(memorycpu.ProcessorType, _T("Intel 486 Processor"), 128);
}
break;
case PROCESSOR_INTEL_PENTIUM:
{
memcpy(memorycpu.ProcessorType, _T("Intel Pentium Processor"), 128);
}
break;
case PROCESSOR_INTEL_IA64:
{
memcpy(memorycpu.ProcessorType, _T("Intel IA64 Processor"), 128);
}
break;
case PROCESSOR_AMD_X8664:
{
memcpy(memorycpu.ProcessorType, _T("AMD X8664 Processor"), 128);
}
break;
default:
memcpy(memorycpu.ProcessorType, _T("未知"), 128);
break;
}