Schon getan. Die o.g. DLL wird nicht aufgeführt, obwohl sie injected ist.
Code:
#Include <WinAPI.au3>
#include <Array.au3>
; #FUNCTION#;===============================================================================
;
; Name...........: _ProcessGetLoadedModules
; Description ...: Returns an array containing the full path of the loaded modules
; Syntax.........: _ProcessGetLoadedModules($iPID)
; Parameters ....:
; Return values .: Success - An array with all the paths
; : Failure - -1 and @error=1 if the specified process couldn't be opened.
; Author ........: Andreas Karlsson (monoceres)
; Modified.......:
; Remarks .......:
; Related .......:
; Link ..........;
; Example .......; No
;
;;==========================================================================================
Func _ProcessGetLoadedModules($iPID)
Local Const $PROCESS_QUERY_INFORMATION=0x0400
Local Const $PROCESS_VM_READ=0x0010
Local $aCall, $hPsapi=DllOpen("Psapi.dll")
Local $hProcess, $tModulesStruct
$tModulesStruct=DllStructCreate("int [1000]")
$hProcess=_WinAPI_OpenProcess(BitOR($PROCESS_QUERY_INFORMATION,$PROCESS_VM_READ),False,$iPID)
If Not $hProcess Then Return SetError(1,0,-1)
$aCall=DllCall($hPsapi,"int","EnumProcessModules","ptr",$hProcess,"ptr",DllStructGetPtr($tModulesStruct),"dword",1000,"dword*","")
If $aCall[4]>1000 Then
$tModulesStruct=DllStructCreate("int ["&$aCall[4]&"]")
$aCall=DllCall($hPsapi,"int","EnumProcessModules","ptr",$hProcess,"ptr",DllStructGetPtr($tModulesStruct),"dword",$aCall[4],"dword*","")
EndIf
Local $aReturn[$aCall[4]]
For $i=0 To Ubound($aReturn)-1
$aCall=DllCall($hPsapi,"dword","GetModuleFileNameExW","ptr",$hProcess,"int",DllStructGetData($tModulesStruct,1,$i+1),"wstr","","dword",65536)
$aReturn[$i]=$aCall[3]
Next
_WinAPI_CloseHandle($hProcess)
DllClose($hPsapi)
Return $aReturn
EndFunc
$MODULES = _ProcessGetLoadedModules(4920)
_ArrayDisplay($MODULES)
Ergebnis:
Quote:
[0]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[1]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[2]|C:\Windows\SYSTEM32\ntdll.dll
[3]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[4]|C:\Windows\SYSTEM32\wow64.dll
[5]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[6]|C:\Windows\SYSTEM32\wow64win.dll
[7]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[8]|C:\Windows\SYSTEM32\wow64cpu.dll
[9]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[10]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[11]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[12]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[13]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[14]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[15]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[16]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[17]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[18]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[19]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[20]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[21]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[22]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[23]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[24]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[25]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[26]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[27]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[28]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[29]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[30]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[31]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[32]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[33]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[34]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[35]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[36]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[37]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[38]|C:\Program Files (x86)\World of Warcraft\WoW.exe
[39]|C:\Program Files (x86)\World of Warcraft\WoW.exe
|
4920 ist natürlich die PID des entsprechenden WoW-Prozesses.