Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Saber donde esta el .exe en ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=40398)

maikeloh 15-02-2007 12:00:05

Saber donde esta el .exe en ejecucion
 
Necesito saber como encontrar el camino de un .exe en tiempo de ejecucion, a partir de identificarlo por su ID de Proceso

Bicho 15-02-2007 12:52:47

Hola,

la función ExtractFilePath(Nombreejecutable) te devuelve la ruta del fichero que quieras.
En tu caso:

Código Delphi [-]
ExtractFilePath(Application.ExeName)

Espero te sirva.

Saludos

seoane 15-02-2007 14:48:26

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;


// Por ejemplo
ShowMessage(GetProcessName(GetCurrentProcessId));

JF Sebastian 16-02-2007 18:38:06

tambien sirve paramstr(0) que te da el path y el nombre del ejecutable

maikeloh 23-02-2007 22:49:18

Gracias
 
La solucion que me brindaron me dio la solucion que necesita, un millon de gracias.:):D:o


La franja horaria es GMT +2. Ahora son las 17:19:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi