C++实现任务管理器功能组件

VC++写的任务管理器,还挺像样的。进程列表、内存占用、CPU 使用率这些信息全都能搞到,界面不复杂,功能却挺全。要是你平时爱研究系统资源,或者想做个小工具练练手,拿来改一改也挺不错的。

系统进程的信息拉得比较细,比如进程 ID、名称这些基本的都有,获取方式是调用 Windows 的 API,像EnumProcessesOpenProcess这些你应该不陌生。响应也快,数据刷新的时候不卡顿,看得出作者对线程调度有点研究。

内存和 CPU 这块,主要是通过GetProcessMemoryInfoGetSystemTimes这类函数来抓系统数据。要注意权限问题,有些进程你没管理员权限是读不出来的,记得加上提权代码。

代码结构还蛮清晰,适合改造,也方便移植到别的 C++项目里。如果你之前接触过类似的 Java 版本,可以参考一下Java 任务管理器信息提取这篇文章,做个语言对比也挺有意思。

另外,如果你对 Windows 底层进程信息感兴趣,推荐你也看看获取 Windows 系统进程相关信息这篇,虽然是 VB 的思路,但 API 调用差不多,思路能互通。

如果你是刚接触 C++系统编程,不妨用这个项目练练手;想进阶的话,也可以在这个基础上加个图表、做个托盘图标,提升下可视化体验。

rar
taskManager.rar 预估大小:50个文件
folder
taskManager 文件夹
file
ProcPage.h 12KB
file
struct.h 7KB
file
PerfPage.cpp 53KB
file
asm.cpp 4KB
file
ProcInfo.cpp 34KB
file
resource.h 15KB
file
taskmgr.h 7KB
file
TaskPage.cpp 64KB
file
ptrarray.cpp 6KB
file
PerfPage.h 3KB
file
taskmgr.suo 10KB
file
taskmgr.aps 172KB
folder
Release 文件夹
file
taskmgr.exe 132KB
file
taskmgr.sln 903B
file
TaskPage.h 6KB
file
ProcPage.cpp 98KB
file
Page.cpp 84B
file
taskmgr.vcproj 6KB
file
Page.h 3KB
file
define.h 8KB
folder
main 文件夹
file
TaskIcon.cpp 8KB
file
Option.cpp 4KB
file
Option.h 5KB
file
TaskIcon.h 558B
file
TaskNot.h 981B
folder
Res 文件夹
file
tray10.ico 318B
file
ledunlit.bmp 2KB
file
tray6.ico 318B
file
bitmap2.bmp 246B
file
tray7.ico 318B
file
tray2.ico 318B
file
tray4.ico 318B
file
main.ico 1KB
file
ledlit.bmp 2KB
file
bmp00001.bmp 246B
file
tray11.ico 318B
file
tray3.ico 318B
file
tray8.ico 318B
file
bmpforwa.bmp 226B
file
numbers.bmp 646B
file
tray1.ico 318B
file
tray0.ico 318B
file
bitmap1.bmp 2KB
file
bmpback.bmp 214B
file
default.ico 1KB
file
tray5.ico 318B
file
tray9.ico 318B
file
taskmgr.rc 39KB
file
taskmgr.cpp 73KB
file
ptrarray.h 4KB
rar 文件大小:209.51KB