资源简介
《Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率》
http://blog.csdn.net/morewindows/article/details/8678359
配套程序。
讲解了在Windows系统下使用VC++获取系统CPU整体使用率。已经测试,能运行于WinXP和Win7系统。
代码片段和文件信息
//Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率
// 经过测试,可以在WinXP及Win7下使用
//http://blog.csdn.net/morewindows/article/details/8678359
#include
#include
#include
// 获得系统CPU使用率
// http://blog.csdn.net/morewindows/article/details/8678359
// By MoreWindows( http://blog.csdn.net/MoreWindows )
// 先调用Initialize(),然后while(true){Sleep(1000);GetCPUUseRate();}就能获得CPU使用率。
// 经过测试,可以在WinXP及Win7下使用。
class CCPUUseRate
{
public:
BOOL Initialize()
{
FILETIME ftIdle ftKernel ftUser;
BOOL flag = FALSE;
if (flag = GetSystemTimes(&ftIdle &ftKernel &ftUser))
{
m_fOldCPUIdleTime = FileTimeToDouble(ftIdle);
m_fOldCPUKernelTime = FileTimeToDouble(ftKernel);
m_fOldCPUUserTime = FileTimeToDouble(ftUser);
}
return flag;
}
//调用Initialize后要等待1秒再调用此函数
int GetCPUUseRate()
{
int nCPUUseRate = -1;
FILETIME ftIdle ftKernel ftUser;
if (GetSystemTimes(&ftIdle &ftKernel &ftUser))
{
double fCPUIdleTime = FileTimeToDouble(ftIdle);
double fCPUKernelTime = FileTimeToDouble(ftKernel);
double fCPUUserTime = FileTimeToDouble(ftUser);
nCPUUseRate= (int)(100.0 - (fCPUIdleTime - m_fOldCPUIdleTime)
/ (fCPUKernelTime - m_fOldCPUKernelTime + fCPUUserTime - m_fOldCPUUserTime)
*100.0);
m_fOldCPUIdleTime = fCPUIdleTime;
m_fOldCPUKernelTime = fCPUKernelTime;
m_fOldCPUUserTime = fCPUUserTime;
}
return nCPUUseRate;
}
private:
double FileTimeToDouble(FILETIME &filetime)
{
return (double)(filetime.dwHighDateTime * 4.294967296E9) + (double)filetime.dwLowDateTime;
}
private:
double m_fOldCPUIdleTime;
double m_fOldCPUKernelTime;
double m_fOldCPUUserTime;
};
int main()
{
printf(“ Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\n“);
printf(“ - http://blog.csdn.net/morewindows/article/details/8678359 -\n“);
printf(“ -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n“);
CCPUUseRate cpuUseRate;
if (!cpuUseRate.Initialize())
{
printf(“Error! %d\n“ GetLastError());
getch();
return -1;
}
else
{
while (true)
{
Sleep(1000);
printf(“\r当前CPU使用率为:%4d%%“ cpuUseRate.GetCPUUseRate());
}
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 473600 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\Debug\GetCPU.exe
文件 2292 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\GetCPU.cpp
文件 877 2012-12-29 16:57 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\GetCPU.sln
..A..H. 10240 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\GetCPU.suo
文件 4841 2012-12-29 16:57 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\GetCPU.vcproj
文件 1425 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\GetCPU.vcproj.MoreWindows_ex.Administrator.user
文件 65536 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\Release\GetCPU.exe
目录 0 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\Debug
目录 0 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率\Release
目录 0 2013-03-16 18:58 Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率
文件 65536 2013-03-16 18:58 GetCPU.exe
文件 744 2013-03-20 10:16 ReadMe.txt
----------- --------- ---------- ----- ----
625091 12
- 上一篇:计算机图形学 课程设计 作业
- 下一篇:操作系统电梯调度算法
相关资源
- Windows下C语言实现文件、文件夹的复制
- vc++ 运用MFC实现基于AfxMessageBox的 自定
- VC++中文繁体、简体BIG-GBK编码转换程序
- C++版本的百度搜索爬虫获取搜索结果
- 利用opengl 组件的基础上使用VC++编写的
- 获取自己的外网ip地址
- VC++编写DLL导出函数及其调用方法
- 马石安编写的VC++程序设计与应用程序
- mfc获取mac地址的小程序
- 本例程采用VC++ 实现JPG格式图片的打开
- VC++异步通信的socket类
- C和C++ Windows代码移植到Linux
- 固高GT编程手册的Vc++单轴运动程序
- AES加密解密系统 VC++6.0 实现
- VC++access与excel数据的导入导出
- opengl实现鼠标坐标的显示
- Windows下Socket文件数据传输
- VC++关于纹理特征提取的代码完整
- 基于mfcvc++6.0的图书馆管理系统
- 贝塞尔曲面 vc++ opengl
- 基于Windows Socket的安全通信(C++实现)
- 如何在VC++ 6.0创建RTX项目
- VC++ 实现将本地文件通过HTTP上传到网
- VC++采用内存映射方式高效率读写大数
- VS2013 CLR Windows窗体应用程序补丁
- 《C语言课程设计》 学生成绩管理系统
- VC++6.0无法打开工程解决办法
- MFC通过windowsAPI控制计算机关机,注销
- VC++6.0实现读取硬盘唯一序列号源码和
- mfc安装全局钩子,显示窗口的标题
评论
共有 条评论