用MFC编写显示CPU使用量程序

JaneThink 2008-11-18 02:46:15
用MFC设计一个如windows资源管理器中监控cpu使用量的程序,能动态地显示一个数据的值并且画出图。主要是动态地显示出其值(cpu的使用率)请高手帮忙。如果有代码实现的话,可发到我的邮箱:haisujiang@163.com,如果有什么思路的也好。我现在的主要困难是,对MFC中的函数不甚了解,还有就是不知到如何动态地刷新程序,请大家不吝指教。谢谢!
...全文
229 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JaneThink 2008-11-18
  • 打赏
  • 举报
回复
不好意思,说得不是很清楚,其实我是想画出cpu使用记录的那样的记录过程的曲线。其实我并不是用于记录cpu的,只是个比方。重点应该是在画图方面,而不是api函数的调用。
JaneThink 2008-11-18
  • 打赏
  • 举报
回复
谢谢了
laolaoliu2002 2008-11-18
  • 打赏
  • 举报
回复
使用pdh的API最简单.

LONG GetProcessCPUUsage()
{

HQUERY hQuery;
HCOUNTER hCounter;
PDH_FMT_COUNTERVALUE fmtValue;
DWORD ctrType;
typedef HANDLE PDH_HQUERY;
typedef HANDLE PDH_HCOUNTER;

char PathBuffer[MAX_PATH] = {0};
ZeroMemory(PathBuffer,sizeof(PathBuffer));
_snprintf(PathBuffer,sizeof(PathBuffer) - 1,"\\Process(%s)\\%c Processor Time","explorer",'%');

if (PdhOpenQuery(0,0,&hQuery) == ERROR_SUCCESS)
{
if (PdhAddCounter(hQuery,PathBuffer,0,&hCounter) == ERROR_SUCCESS)
{
LONG Start = 0;
LONG End = 0;

for (UINT i = 0 ; i < 2; i++)
{
if (PdhCollectQueryData(hQuery) == ERROR_SUCCESS)
{
if (PdhGetFormattedCounterValue(hCounter,PDH_FMT_LONG,&ctrType,&fmtValue) == ERROR_SUCCESS)
{
if (i == 0)
{
Start = fmtValue.longValue;
}
else
{
End = fmtValue.longValue;
if (End > Start)
{
PdhCloseQuery(hQuery);
return (End - Start);
}
else
{
PdhCloseQuery(hQuery);
return End;
}
}
}
else
{
break;
}
}
else
{
break;
}
Sleep(1000);
}
}
PdhCloseQuery(hQuery);
}
return -1;
}

以上代码得到explorer的CPU使用率,自己改下就能适用于所有系统进程.
laolaoliu2002 2008-11-18
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/system/Task_Manager_Extension.aspx
cygzr 2008-11-18
  • 打赏
  • 举报
回复
也是新手,帮顶一下,顺便学习!
yuhudie203 2008-11-18
  • 打赏
  • 举报
回复
动态刷新程序用OnTimer函数
树先生 2008-11-18
  • 打赏
  • 举报
回复
学习 帮顶
Ei 2008-11-18
  • 打赏
  • 举报
回复
代码 发你邮箱了
cnzdgs 2008-11-18
  • 打赏
  • 举报
回复
经常有人问这类问题,在论坛中搜索一下就有答案了,给你两个连接参考一下:
http://topic.csdn.net/u/20080821/16/A1645DF5-8569-494B-B4EA-81D82E0CFBDC.html

http://topic.csdn.net/u/20081014/15/B423B3D9-6010-41C0-A8AC-A00B8A38383E.html

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧