C++实现任务管理器功能组件
VC++写的任务管理器,还挺像样的。进程列表、内存占用、CPU 使用率这些信息全都能搞到,界面不复杂,功能却挺全。要是你平时爱研究系统资源,或者想做个小工具练练手,拿来改一改也挺不错的。
系统进程的信息拉得比较细,比如进程 ID、名称这些基本的都有,获取方式是调用 Windows 的 API,像EnumProcesses
、OpenProcess
这些你应该不陌生。响应也快,数据刷新的时候不卡顿,看得出作者对线程调度有点研究。
内存和 CPU 这块,主要是通过GetProcessMemoryInfo
和GetSystemTimes
这类函数来抓系统数据。要注意权限问题,有些进程你没管理员权限是读不出来的,记得加上提权代码。
代码结构还蛮清晰,适合改造,也方便移植到别的 C++项目里。如果你之前接触过类似的 Java 版本,可以参考一下Java 任务管理器信息提取这篇文章,做个语言对比也挺有意思。
另外,如果你对 Windows 底层进程信息感兴趣,推荐你也看看获取 Windows 系统进程相关信息这篇,虽然是 VB 的思路,但 API 调用差不多,思路能互通。
如果你是刚接触 C++系统编程,不妨用这个项目练练手;想进阶的话,也可以在这个基础上加个图表、做个托盘图标,提升下可视化体验。
taskManager.rar
预估大小:50个文件
taskManager
文件夹
ProcPage.h
12KB
struct.h
7KB
PerfPage.cpp
53KB
asm.cpp
4KB
ProcInfo.cpp
34KB
resource.h
15KB
taskmgr.h
7KB
TaskPage.cpp
64KB
ptrarray.cpp
6KB
209.51KB
文件大小:
评论区