Ich versuche den vollen Pfad einer Anwendung anhand des Handles herauszubekommen. Den Dateinamen kriege ich schon, allerdings nicht den Pfad dazu:
Delphi-Quellcode:
function GetProcessNameFromWnd(hWnd: HWND): string;
var
ProcID : DWord;
SSHandle : THandle;
Continue : boolean;
ProcEntry : TProcessEntry32;
begin
GetWindowThreadProcessID(hWnd, @ProcID);
SSHandle := CreateToolhelp32Snapshot(TH32CS_SnapProcess, 0);
ProcEntry.dwSize := Sizeof(ProcEntry);
// gehe alle Prozesse durch
Continue := Process32First(SSHandle, ProcEntry);
while Continue do begin
// gesuchter Prozess (ProcID) in der Liste aller Prozesse gefunden?
if ProcEntry.th32ProcessID = ProcID then
begin
Result := ProcEntry.szExeFile;
break;
end;
Continue := Process32Next(SSHandle, ProcEntry);
end;
CloseHandle(SSHandle);
end;