曲径通幽论坛

标题: Process32First() -- 获取快照中的第一个进程信息 [打印本页]

作者: beyes    时间: 2013-7-14 23:37
标题: Process32First() -- 获取快照中的第一个进程信息
获取进程快照使用  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




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2