进程获取函数,当我们利用函数CreateToolhelp32Snapshot()获得当前运行进程的快照后,我们可以利用process32First函数来获得
BOOL WINAPI Process32First(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe );
BOOL WINAPI Process32Next(
__in HANDLE hSnapshot,
__out LPPROCESSENTRY32 lppe );
Process32First和Process32Next函数的第一个参数是快照句柄,第二个参数是一个指向PROCESSENTRY32结构的指针,进程信息将会被返回到这个结构中。
typedef struct{
DWORD dwSize; //结构的长度必须预先设置
DWORD cntUsage; //进程的引用次数
DWORD th32ProcessID; //进程ID
DWORD th32DefaultHeapID; //进程默认堆的ID
DWORD th32ModuleID; //进程模块的ID
DWORD cntThreads; //进程创建的线程数
DWORD th32ParentProcessID; //进程的父线程ID
LONG pcPriClassBase; //进程创建的线程的基本优先级
DWORD dwFlags; //内部使用
CHAR szExeFile[ MAX_PATH ]; //进程对应的可执行文件名
}PROCESSENTRY32;