用MFC设计一个如windows资源管理器中监控cpu使用量的程序,能动态地显示一个数据的值并且画出图。主要是动态地显示出其值(cpu的使用率)请高手帮忙。如果有代码实现的话,可发到,如果有什么思路的也好。我现在的主要困难是,对MFC中的函数不甚了解,还有就是不知到如何动态地刷新程序,请大家不吝指教。谢谢!
解决方案 »
- XP下能对isa端口进行读写吗
- 怎么实现透明窗体上显示不透明文字?
- 【源码】:放源码了,线程类!
- 鼠标钩子中如何得到双击消息?谢谢
- 30分 , 大家讨论一下
- 请教:如何动态更改Edit控件的文本颜色?
- 请问一个Visual C++ C++程序员一个月的薪水是多少
- 还是光标问题,各位,特别是 yifengling0(逸枫) 请进!在线等待!谢谢!
- 如何把在信息框中把所打开文件中的数据用十六进制显示?
- 各位大侠们,救命,我这怎么背景图片还是黑框框
- MFC 重载operator new希望高手过来看看
- OPENCV 打开文件时编译通不过 'CStringA' : undeclared identifier
http://topic.csdn.net/u/20080821/16/A1645DF5-8569-494B-B4EA-81D82E0CFBDC.htmlhttp://topic.csdn.net/u/20081014/15/B423B3D9-6010-41C0-A8AC-A00B8A38383E.html
{ 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使用率,自己改下就能适用于所有系统进程.