PROCESSENTRY32结构 详细介绍

PROCESSENTRY32  PROCESSENTRY32 Structure
  Describes an entry from a list of the processes residing in the system address space when a snapshot was taken.
  用来存放快照进程信息的一个结构体。(存放进程信息和调用成员输出进程信息)
  用来 Process32First指向第一个进程信息,并将进程信息抽取到PROCESSENTRY32中。用 Process32Next指向下一条进程信息。
  Syntax
  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;
  Members
   dwSize (结构的大小)The size of the structure, in bytes. Before calling the Process32First function, set this member to sizeof(PROCESSENTRY32). If you do not initialize dwSize, Process32First fails.
  (这个结构的长度,以字节为单位,初始化一个实例以后调用Process32First函数,设置成员的大小sizeof(PROCESSENTRY32).如果你没用PROCESSENTRY32中的成员dwSize初始化,pricess32First将会失败。)
   cntUsage (此进程的引用计数)This member is no longer used and is always set to zero.
  (这个成员已经很久没有使用,总是设置为零。)
   th32ProcessID 进程ID=process identifier=PIDThe process identifier.
  (这个就是任务管理器里面的进程的PID,打开任务管理器--查看---选择列---PID(勾选)就可以显示进程的标示符(PID))
   th32DefaultHeapID 进程默认堆IDThis member is no longer used and is always set to zero.
  (这个成员已经很久没有使用,总是设置为零。)
   th32ModuleID 进程模块IDThis member is no longer used and is always set to zero.
  (这个成员已经很久没有使用,总是设置为零。)
   cntThreads 此进程开启的线程计数The number of execution threads started by the process.
  (这个成员执行线程开始的进程。)
   th32ParentProcessID (父进程的ID)The identifier of the process that created this process (its parent process).
   pcPriClassBase .(线程优先权)The base priority of any threads created by this process
  当前进程创建的任何一个线程的基础优先级,即在当前进程内创建线程的话,其基本优先级的值。
   dwFlags This member is no longer used, and is always set to zero.
  (这个成员已经很久没有使用,总是设置为零。)
   szExeFile (一个数组)进程全名The name of the executable file for the process. To retrieve the full path to the executable file, call the Module32First function and check the szExePath member of the MODULEENTRY32 structure that is returned. However, if the calling process is a 32-bit process, you must call the QueryFullProcessImageName function to retrieve the full path of the executable file for a 64-bit process.
  (进程的可执行文件名称。要获得可执行文件的完整路径,应调用Module32First函数,再检查其返回的MODULEENTRY32结构的szExePath成员。但是,如果被调用进程是一个32位程序,您必须调用QueryFullProcessImageName函数去获取64位进程的可执行文件完整路径名。)
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
PROCESSENTRY32是一个易语言中的数据类型,用于描述进程的信息。它包含了进程的各种属性,如进程ID、父进程ID、线程计数、进程全名等。下面是PROCESSENTRY32结构和各个字段的含义: 1. dwSize:结构的大小,以字节为单位。 2. cntUsage:此进程的引用计数。 3. th32ProcessID:进程ID。 4. th32DefaultHeapID:进程默认堆ID。 5. th32ModuleID:进程模块ID。 6. cntThreads:此进程开启的线程计数。 7. th32ParentProcessID:父进程ID。 8. pcPriClassBase:线程优先权。 9. dwFlags:保留字段。 10. szExeFile:进程全名,以字节为单位。 使用PROCESSENTRY32结构可以获取进程的各种信息,比如进程ID、进程全名等。可以通过调用CreateToolhelp32Snapshot函数创建一个进程快照,然后使用process32First和Process32Next函数遍历进程快照,获取每个进程的信息。 下面是一个示例代码,演示如何使用PROCESSENTRY32结构获取进程的信息: ```easylanguage // 导入API函数 import("kernel32.dll", "CreateToolhelp32Snapshot", "Process32First", "Process32Next", "CloseHandle") // 定义PROCESSENTRY32结构 struct PROCESSENTRY32 { dwSize: int; // 结构大小 cntUsage: int; // 此进程的引用计数 th32ProcessID: int; // 进程ID th32DefaultHeapID: int; // 进程默认堆ID th32ModuleID: int; // 进程模块ID cntThreads: int; // 此进程开启的线程计数 th32ParentProcessID: int; // 父进程ID pcPriClassBase: int; // 线程优先权 dwFlags: int; // 保留 szExeFile: byte[256]; // 进程全名 } // 创建进程快照 snapshot := CreateToolhelp32Snapshot(0x00000002, 0) // 初始化PROCESSENTRY32结构 entry := PROCESSENTRY32{dwSize: sizeof(PROCESSENTRY32)} // 获取第一个进程的信息 Process32First(snapshot, &entry) // 遍历进程快照,输出每个进程的信息 while Process32Next(snapshot, &entry) do { // 输出进程ID和进程全名 print("进程ID: ", entry.th32ProcessID) print("进程全名: ", entry.szExeFile) } // 关闭进程快照句柄 CloseHandle(snapshot) ``` 这段代码使用了CreateToolhelp32Snapshot函数创建了一个进程快照,然后使用Process32First和Process32Next函数遍历进程快照,获取每个进程的信息,并输出进程ID和进程全名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值