获取进程快照使用 CreateToolhelp32Snapshot() 函数,而 Process32First() 则是用来获得快照中的第一个进程的信息,原型如下:BOOL WINAPI Process32First(
__in HANDLE hSnapshot,
__inout LPPROCESSENTRY32 lppe
);
hSnapshot 是输入参数,它是 CreateToolhelp32Snapshot() 函数返回的快照句柄(调用 CreateToolhelp32Snapshot 时第 1 个参数使用的是 TH32CS_SNAPPROCESS)。
lppe 是输入输出参数,它是 LPPROCESSENTRY32 结构变量的指针,该变量定义如下:
[C++] 纯文本查看 复制代码 typedef struct tagPROCESSENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
TCHAR szExeFile[MAX_PATH];
} PROCESSENTRY32, *PPROCESSENTRY32;
函数的返回值是 BOOL 类型,为 TRUE 时表示获取成功,否则失败。
测试代码见:http://www.groad.net/bbs/read.php?tid-7894.html |