【问题标题】:How to get all process IDs? [duplicate]如何获取所有进程 ID? [复制]
【发布时间】:2012-09-24 09:44:24
【问题描述】:

可能重复:
Windows API's which will show the running processes

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

我该怎么做?

【问题讨论】:

  • 能否请您详细说明问题............
  • 当 IE 使用多个选项卡打开时,它有多个 PID...当我在 IE 的多个进程中注入我的 DLL 时,使用 GetCurrentProcessId() 函数我正在获取父进程 PID,这只是一个PID 我想得到 IE 的所有 PID
  • 递归处理子进程。

标签: c++ windows visual-c++


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2015-01-07
    • 1970-01-01
    • 2017-03-09
    • 2012-10-02
    相关资源
    最近更新 更多