我知道可以通过PDH来获取进程的使用率.比如:
PdhAddCounter(
..
_T("\\Process(QQ)\\%% Processor Time"), // Perfomance Object Path
..
)可以获得QQ的使用率现在的问题是我写了一个程序Client.exe,希望他在运行期间能够打印出自己的CPU占有率。当我开了多个Client.exe后,上面的做法就不行了(始终打印出第一个被开启的进程).问题1:
我知道进程可以通过GetProcessID获取自身的PID,但是如何通过PID来获取占有率?(上面的Path指明是要进程名的)问题2:
我查了msdn, 照msdn说的做法 - 同名对象的不同实例可以用(QQ/0#1)的方式来指定,
但我把上面的PATH改为_T("\\Process(QQ/0#1)\\%% Processor Time")是打印不出来的。我想可能格式有错,请高手指点!急,在线等!
PdhAddCounter(
..
_T("\\Process(QQ)\\%% Processor Time"), // Perfomance Object Path
..
)可以获得QQ的使用率现在的问题是我写了一个程序Client.exe,希望他在运行期间能够打印出自己的CPU占有率。当我开了多个Client.exe后,上面的做法就不行了(始终打印出第一个被开启的进程).问题1:
我知道进程可以通过GetProcessID获取自身的PID,但是如何通过PID来获取占有率?(上面的Path指明是要进程名的)问题2:
我查了msdn, 照msdn说的做法 - 同名对象的不同实例可以用(QQ/0#1)的方式来指定,
但我把上面的PATH改为_T("\\Process(QQ/0#1)\\%% Processor Time")是打印不出来的。我想可能格式有错,请高手指点!急,在线等!
解决方案 »
- 在VS2008中运行C++源文件
- 修改窗口标题栏高度?????????????????
- 累啊,一步一步抄还是错:关于 CUserRecordSet m_UserRecordSet;
- VC++ ADO连接本地SQL数据库
- 如何搜索出局域网上所有运行的SQL SERVER及实例
- 下面的程序是想弹出非模式对话框,但是,编译有错误,很简单的请帮忙?
- 有关打印的问题
- 这个错误提示如何解决?
- 请问,有人在北京的维新和锐信这两家培训中心培训过吗?
- Unicode是什么东西?有什么作用?
- MFC对话框转化为dll导出函数的问题,原WSAAsyncSelect获取不到消息~
- 求<MFC windows程序设计>第二版的附盘源代码
下面以间隔一次进行计算:
pt1 = GetProcessTimes();//(第一次)
pt2 = GetProcessTimes();//(第二次)
st1 = GetSystemTime();//(第一次)
st2 = GetSystemTime();//(第二次)cpu_usage = (pt2-pt1)/(st2-st1)
通常如果是多个cpu
cpu_usage /= cpu_count;