c語言怎么獲取硬件信息
c語言怎么獲取硬件信息
對于程序員來講,使用C語言再正常不過了,那么,你們知道C語音應該怎么獲取它的硬件信息呢?下面是學習啦小編帶來的關于c語言怎么獲取硬件信息的內(nèi)容,歡迎閱讀!
c語言怎么獲取硬件信息?
下面是C語言獲取硬件信息的代碼,可能比較長,請網(wǎng)友們細心查看
這個需要相關的庫以及API。
給你一個獲取cpu信息的函數(shù):
DWORD MyCPUSpeed()
{
BSTR bstrMyCpuName=NULL;
BSTR bstrMyPropName = NULL;
VARIANT pVal;
char szText[256];
int nCpuNum=0;
DWORD dwCpuSpeed=0;
IWbemClassObject *pCpuInst=NULL;
IWbemQualifierSet* pQualSet = NULL;
bstrMyPropName = SysAllocString(L"CurrentClockSpeed");
if(bstrMyPropName == NULL)
{
return dwCpuSpeed;
}
while(1)
{
memset(szText,0,sizeof(szText));
sprintf(szText,"Win32_Processor.DeviceID=\"CPU%d\"", nCpuNum);
bstrMyCpuName = _bstr_t(szText);
if(bstrMyCpuName == NULL)
{
break;
}
if(pSvc->GetObject(bstrMyCpuName, 0L, NULL, &pCpuInst, NULL) != S_OK)
{
break;
}
if(pCpuInst->Get(bstrMyPropName, 0L, &pVal, NULL, NULL) == S_OK)
{
nCpuNum++;
dwCpuSpeed += pVal.lVal;
}
VariantClear(&pVal);
SysFreeString(bstrMyCpuName);
bstrMyCpuName = NULL;
}
if(bstrMyPropName != NULL)
{
SysFreeString(bstrMyPropName);
bstrMyPropName = NULL;
}
if(bstrMyCpuName != NULL)
{
SysFreeString(bstrMyCpuName);
bstrMyCpuName = NULL;
}
memset(szText,0,sizeof(szText));
sprintf(szText, "CPU個數(shù): %d, CPU頻率: %ld Mhz", nCpuNum, dwCpuSpeed);
cout<<"------------------------"<
return dwCpuSpeed;
}
以上就是C語音怎么查看硬件信息的代碼了