枚举当前系统进程的方法大致分一下几个步骤:
一、 提升应用程序的进程权限
二、枚举系统进程,枚举进程的思路是 先获得进程快照, 然后Process32First, 然后Process32Next
三、获取进程的绝对路径
四、枚举进程所有模块, 其实跟上面的获取进程绝对路径一样,用到都是EnumProcessModules,不过上面的hMod 是一个变量,下面的是一个HMODULE hMod[1024];
有关模块的信息思路是这样的, 先GetFileVersionSize 在GetFileVersionInfo, 然后调用VerQueryValue
有关详细的操作请参照这里: http://blog.youkuaiyun.com/ACE1985/archive/2010/07/14/5732024.aspx
下载地址:http://download.youkuaiyun.com/source/3156627
有这几个函数写一个进程管理器就差不多了, 例外关于进程的监控,不如进程的开启和关闭,我的思路是这样的:问题已经解决了,谢谢大家,我最后还是用定时器做的,列表中枚举的进程ID先用vector 来保存下来,每次枚举进程的时候先查看进程的ID是否在这个vector 里面,如果不存在的话插入到进程列表里面,这样就能监控进程的开启;枚举完后检查vector 里面的进程的状态是否关闭了,如果关闭的话就从列表控件里面删除相应的Item, vector里面也移除,这样的话就能监控进程的关闭了。。