C++CPU使用率
时间: 2023-07-11 08:20:30 浏览: 64
你可以使用C++编写程序来获取CPU使用率。具体实现方式可能因操作系统而异,以下是在Windows操作系统下获取CPU使用率的示例代码:
```c++
#include <iostream>
#include <windows.h>
#include <pdh.h>
#pragma comment(lib, "pdh.lib")
int main()
{
PDH_HQUERY cpuQuery;
PPDH_COUNTER_PATH_ELEMENTS pCounterPathElements = NULL;
PDH_STATUS status;
DWORD dwCounterPathSize;
HCOUNTER cpuTotal;
PDH_FMT_COUNTERVALUE counterVal;
// 初始化 PDH 计数器
PdhOpenQuery(NULL, NULL, &cpuQuery);
dwCounterPathSize = 0;
status = PdhExpandCounterPath(L"\\Processor(_Total)\\% Processor Time", NULL, &dwCounterPathSize);
pCounterPathElements = (PPDH_COUNTER_PATH_ELEMENTS)malloc(dwCounterPathSize);
status = PdhExpandCounterPath(L"\\Processor(_Total)\\% Processor Time", pCounterPathElements, &dwCounterPathSize);
PdhAddCounter(cpuQuery, pCounterPathElements->szFullPath, NULL, &cpuTotal);
free(pCounterPathElements);
// 获取 CPU 使用率
PdhCollectQueryData(cpuQuery);
Sleep(1000); // 等待 1 秒
PdhCollectQueryData(cpuQuery);
PdhGetFormattedCounterValue(cpuTotal, PDH_FMT_DOUBLE, NULL, &counterVal);
std::cout << "CPU 使用率:" << counterVal.doubleValue << "%" << std::endl;
PdhCloseQuery(cpuQuery);
return 0;
}
```
这段代码中,首先通过 PDH API 初始化计数器并添加要监控的计数器(这里是获取总CPU使用率),然后等待一秒钟后再次获取计数器值,并输出结果。你可以通过类似的方式在其他操作系统上实现获取 CPU 使用率的功能。