我想用性能计数器得到每个进程占用的CPU使用率。我知道在PdhAddCounter()中"\\Processor(0)\\% Processor Time"表示的是系统的CPU占用率。比如我有个程序名字是XDICT,我怎么得到他的占用率啊?
谁能帮帮我啊
急啊。。老板催啊!
谁能帮帮我啊
急啊。。老板催啊!
解决方案 »
- 如何对不在当前view里的鼠标左键弹起进行相应
- richedit 实现vc中把保留字变成蓝颜色的解决方法
- 关于tab中加子窗口的问题
- 在一个类中定义一个变量,希望其他所有类都可以看到并直接使用,不使用全局变量,应该怎么做呀
- 动态获取,显示数据??
- Edit编辑框怎么获取输入内容和赋值
- 如何使CFormView派生类中的对话框资源,在视formview中是居中显示的
- WM_NOTIFY 和 WM_NOTIFY_REFLECT 有什么区别?
- SHBrowseForFolder的问题,解决不了了!!
- CString 的 bug 么
- 关于DLL?
- Wininet API问题?想用api hook技术实现把网页内容汉化后返回ie浏览器。高手给个思路,谢谢!
PDH_FMT_COUNTERVALUE fmtValue ;
DWORD dwctrType ;
__try
{
pdhStatus = PdhAddCounter ( hQuery , _TEXT ( "Process(_TEXT ( "QQ" ))\\%Processor Time" ) , 0 , pCounterHandle ) ;
if ( pdhStatus != ERROR_SUCCESS )
{ __leave ;
}
pdhStatus = PdhCollectQueryData ( hQuery ) ;
if ( pdhStatus != ERROR_SUCCESS )
{ __leave ; }
得到当前计数器值
pdhStatus = PdhGetFormattedCounterValue ( * pCounterHandle , PDH_FMT_DOUBLE , & dwctrType , & fmtValue ) ;
if ( pdhStatus != ERROR_SUCCESS )
{ __leave ; }
// fmtValue.doubleValue就是当前此时此刻该程序的CPU使用率(循环调用就可得到实时数据)
}
__finally
{
if ( AbnormalTermination () )
{
}
}
关闭计数器 pdhStatus = PdhCloseQuery ( hQuery ) ;
if ( pdhStatus == ERROR_SUCCESS )
{
// 关闭成功
}
else
{
// 关闭失败
}