VC里调用哪些函数可以实现对windows2000/xp中某一进程的CPU占用率,mem使用情况的查询 请各位大侠指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用PSAPIEmptyWorkingSet EnumDeviceDrivers EnumPageFiles EnumProcesses EnumProcessModules GetDeviceDriverBaseName GetDeviceDriverFileName GetMappedFileName GetModuleBaseName GetModuleFileNameEx GetModuleInformation GetPerformanceInfo GetProcessImageFileName GetProcessMemoryInfo GetWsChanges InitializeProcessForWsWatch QueryWorkingSet QueryWorkingSetEx 等 关键是想得出某一进程的CPU使用率,从上面这些函数里好像得不到吧 #include <Pdh.h>// 在实现文件中 #pragma comment ( lib , "Pdh.lib" )HQUERY hQuery = NULL ;PDH_STATUS pdhStatus ;HCOUNTER * pCounterHandle = NULL ;// 打开计数器pdhStatus = PdhOpenQuery ( 0 , 0 , & hQuery ) ;pCounterHandle = ( HCOUNTER * ) GlobalAlloc ( GPTR , sizeof ( HCOUNTER ) ) ;// 创建计数器(假设要获取QQ程序的CPU使用率) PDH_FMT_COUNTERVALUE fmtValue ;DWORD dwctrType ;pdhStatus = PdhAddCounter ( hQuery , _TEXT ( "Process(_TEXT ( "QQ" ))\\%Processor Time" ) , 0 , pCounterHandle ) ;pdhStatus = PdhCollectQueryData ( hQuery ) ;// 得到当前计数器值pdhStatus = PdhGetFormattedCounterValue ( * pCounterHandle , PDH_FMT_DOUBLE , & dwctrType , & fmtValue ) ;// fmtValue.doubleValue就是当前此时此刻该程序的CPU使用率(循环调用就可得到实时数据) // 关闭计数器pdhStatus = PdhCloseQuery ( hQuery ) ; 如何发送连接请求至https服务器,并向其发送数据 CFile 怎样打开文件名中带特殊符号的文件? 建立一个窗口,错哪了 编辑器如何更换背景图? 一个本科生关于各种平台的常识性提问 如何在程序中通过程序调用打开浏览器并访问一个网址? 急 请问VIEW和DOC的区别和联系 急救,打印驱动的问题,高手来帮帮忙! 类中定义一个类,是怎么回事?怎么理解?急!! 创建DLL,参数传递出错 简单问题 多线程中有无Sleep()语句竟大不一样!请高手指教
EmptyWorkingSet
EnumDeviceDrivers
EnumPageFiles
EnumProcesses
EnumProcessModules
GetDeviceDriverBaseName
GetDeviceDriverFileName
GetMappedFileName
GetModuleBaseName
GetModuleFileNameEx
GetModuleInformation
GetPerformanceInfo
GetProcessImageFileName
GetProcessMemoryInfo
GetWsChanges
InitializeProcessForWsWatch
QueryWorkingSet
QueryWorkingSetEx 等
// 在实现文件中
#pragma comment ( lib , "Pdh.lib" )
HQUERY hQuery = NULL ;
PDH_STATUS pdhStatus ;
HCOUNTER * pCounterHandle = NULL ;
// 打开计数器
pdhStatus = PdhOpenQuery ( 0 , 0 , & hQuery ) ;
pCounterHandle = ( HCOUNTER * ) GlobalAlloc ( GPTR , sizeof ( HCOUNTER ) ) ;
// 创建计数器(假设要获取QQ程序的CPU使用率)
PDH_FMT_COUNTERVALUE fmtValue ;
DWORD dwctrType ;
pdhStatus = PdhAddCounter ( hQuery , _TEXT ( "Process(_TEXT ( "QQ" ))\\%Processor Time" ) , 0 , pCounterHandle ) ;
pdhStatus = PdhCollectQueryData ( hQuery ) ;
// 得到当前计数器值
pdhStatus = PdhGetFormattedCounterValue ( * pCounterHandle , PDH_FMT_DOUBLE , & dwctrType , & fmtValue ) ;
// fmtValue.doubleValue就是当前此时此刻该程序的CPU使用率(循环调用就可得到实时数据)
// 关闭计数器
pdhStatus = PdhCloseQuery ( hQuery ) ;