Fehlt da vielleicht das Flag PROCESS_VM_READ? Diese Funktion tut soweit ich das noch richtig in Erinnerung habe:
Delphi-Quellcode:
function GetPathFromPid(const APid: DWORD): string;
var hProc: THandle;
Lpath: array[0..MAX_PATH-1] of Char;
begin
Result:= '';
hProc:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, false, APid);
if (hProc <> 0) then
try
if GetModuleFileNameEx(hProc, 0, Lpath, MAX_PATH) > 0 then begin
Result:= String(Lpath);
end;
finally
CloseHandle(hProc);
end;
end;
MfG Dalai