2012-09-24 68 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已經提到的那樣。