Ricardo, acredito que você terá que verificar todos os processos em
execução.

Não tenho uma rotina pronta,  mas uma busca irá lhe ajudar.

Com o PID de cada processo, você poderia usar a rotina abaixo:

var
Alca   : THandle;
sExe   : string;
dwRet : DWORD;
begin
Alca := OpenProcess(PROCESS_QUERY_INFORMATION or
PROCESS_VM_READ,False,piPID);
SetLength(sExe,MAX_PATH);
dwRet := GetModuleFileNameEx(Alca,0,PChar(sExe),MAX_PATH);
SetLength(sExe,StrLen(PChar(sExe)));
Self.FCaminhoExe := sExe;
CloseHandle(Alca);
end;

É mais ou menos isso.


[As partes desta mensagem que não continham texto foram removidas]

Responder a