博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ Windows 获取CPU利用率【转】
阅读量:4980 次
发布时间:2019-06-12

本文共 1874 字,大约阅读时间需要 6 分钟。

#include 
#include
#include
#include
#include
#include
#pragma comment(lib, "pdh.lib")#define COUNT_INTERVAL 1000const TCHAR *pszPathBuff=_T("\\Processor(_Total)\\% Processor Time");//% Processor Time 指处理器用来执行非闲置线程时间的百分比。//计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。//(每台处理器有一个闲置线程,该线程在没有其他线程可以运行时消耗周期)。//这个计数器是处理器活动的主要说明器,显示在范例间隔时所观察的繁忙时间平均百分比。//这个值是用 100% 减去该服务不活动的时间计算出来的。int main(){ HQUERY hQuery; HCOUNTER hCounter; PDH_STATUS pdhStatus; PDH_FMT_COUNTERVALUE fmtValue; DWORD ctrType; SYSTEMTIME stSampleTime; __try { pdhStatus = PdhOpenQuery(NULL, NULL, &hQuery); if (ERROR_SUCCESS != pdhStatus) { _tprintf(TEXT("PdhOpenQuery failed with %ld.\n"), pdhStatus); __leave; } pdhStatus = PdhAddCounter (hQuery, pszPathBuff, 0, &hCounter); if (ERROR_SUCCESS != pdhStatus) { _tprintf(TEXT("PdhBrowseCounters failed with 0x%x.\n"), pdhStatus); __leave; } pdhStatus = PdhCollectQueryData (hQuery); if (ERROR_SUCCESS != pdhStatus) { _tprintf(TEXT("PdhCollectQueryData failed with 0x%x.\n"), pdhStatus); __leave; } while (!_kbhit()) { Sleep(COUNT_INTERVAL); GetLocalTime (&stSampleTime); pdhStatus = PdhCollectQueryData (hQuery); _tprintf ( TEXT("\n\"%2.2d/%2.2d/%4.4d %2.2d:%2.2d:%2.2d.%3.3d\""), stSampleTime.wMonth, stSampleTime.wDay, stSampleTime.wYear, stSampleTime.wHour, stSampleTime.wMinute, stSampleTime.wSecond, stSampleTime.wMilliseconds); pdhStatus = PdhGetFormattedCounterValue (hCounter, PDH_FMT_DOUBLE, &ctrType, &fmtValue); if (pdhStatus == ERROR_SUCCESS) { _tprintf (TEXT(",\"%.20g\""), fmtValue.doubleValue); } else { _tprintf(TEXT("\nPdhGetFormattedCounterValue failed with 0x%x.\n"), pdhStatus); __leave; } } } __finally { if (hQuery) PdhCloseQuery (hQuery); } return pdhStatus;}

 

转载于:https://www.cnblogs.com/Leo-Forest/archive/2013/04/24/3040341.html

你可能感兴趣的文章
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>
BZOJ1026: [SCOI2009]windy数
查看>>
组件:slot插槽
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>
springIOC第一个课堂案例的实现
查看>>
求输入成绩的平均分
查看>>
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
highcharts 图表实例
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
宏定义
查看>>
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>