2012-09-24 70 views
1

可能重复:
Windows API's which will show the running processes如何获取所有进程ID?

all process id in process Hacker

如何获得IEXPLORER.EXE的所有进程的进程ID?当我在iexplorer.exe进程中注入DLL时,getcurrentprocessid()正在获取父进程ID。

我该怎么做?

+0

可以请您详细说明问题.......... – vikky

+0

当IE打开多个选项卡时,它有多个PID ...当我注入我的DLL在多个IE进程中,与GetCurrentProcessId( )函数我正在获取父进程PID,即只有一个PID我想获得IE的所有PID –

+0

递归过程中的孩子。 – m0skit0

回答

3

最好的方法是枚举系统上的所有进程,并选择那些是IE的。有几个简单的方法可以获取有关系统上运行的所有进程的信息:

  1. EnumProcesses,来自PSAPI。这可能是最简单的,但不会提供很多信息;您需要使用其他API来收集所需的信息(OpenProcess/GetModuleFileNameEx)。
  2. CreateToolhelp32Snapshot(然后Process32FirstProcess32Next),来自TlHelp32.h。使用起来非常简单,并自动为您提供EXE名称,以便您轻松判断它是否为iexplorer.exe。
  3. WMI,正如@nogard已经提到的那样。