之前写过一些枚举进程的代码,这两天正在回顾之前学习的代码,看到了CreateToolhelp32Snapshot函数,就顺便来看看它的具体实现吧。
实现枚举进程信息的这个过程看起来是比较easy的,只不过是一些Windows的API函数罢了:
- CreateToolhelp32Snapshot
- Process32First
- Process32Next
就利用这三个函数,便可实现当前系统进程的枚举工作,但是这三个函数的具体实现,还是有待考究。
先从CreateToolhelp32Snapshot说起:
其传递两个参数,第一参数是一个宏,说明我们需要拍摄快照的类型,我们在此处是枚举进程信息,自然就传递TH32CS_SNAPPROCESS。第二个参数是进程ID,我们一般传入0,传入0之后会发生什么呢?原来是默认当前进程。
if(th32ProcessID == 0)
{
th32ProcessID =