Si lo que necesitas es la ruta de tu propio exe, la solución de bicho es la correcta. Pero si lo que quieres es la ruta de cualquier proceso conociendo su PID, esto es lo que buscas:
Código Delphi
[-]
uses PsApi;
function GetProcessName(ProcessId: DWORD): String;
var
Process: THANDLE;
Buffer: array[0..MAX_PATH] of Char;
begin
Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE,
ProcessId);
if (Process<>0) then
begin
if (GetModuleFileNameEx(Process, 0, Buffer,Sizeof(Buffer)-1)>0) then
Result:= String(PChar(@Buffer));
CloseHandle(Process);
end;
end;
ShowMessage(GetProcessName(GetCurrentProcessId));