曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4431|回复: 0
打印 上一主题 下一主题

[进程,线程,模块] Process32First() -- 获取快照中的第一个进程信息

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2013-7-14 23:37:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
获取进程快照使用  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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 06:38 , Processed in 0.080249 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表