Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   ejecutar programa exterior y detectar finalización de éste (https://www.clubdelphi.com/foros/showthread.php?t=60744)

petete2008 12-10-2008 22:52:57

ejecutar programa exterior y detectar finalización de éste
 
Hola a todos,
Quisiera saber si es posible lo siguiente.
Quiero lanzar una aplicación externa desde un programa en delphi y cuando ésta aplicación externa finalice que también lo haga la aplicación que la lanzó ( o sea la hecha en delphi ).

Gracias

escafandra 12-10-2008 23:53:03

Mira a ver si esto te sirve para empezar.

Saludos.

JAV 15-10-2008 15:47:03

Supe hacer algo así con dos funciones:

WinExec: Para ejecutar la aplicación externa.
FindWindow: Para verificar si el formulario principal de la aplicación sigue activo.

Código Delphi [-]
procedure EjecutarYEsperar;
var
  HandleApli: HWND;
begin
  WinExec(PChar('C:\Temp\pepe.exe'), SW_SHOWNORMAL);
  HandleApli := 1;
  while HandleApli <> 0 do 
    begin
      HandleApli := FindWindow(Nil, PChar('pepe'));
      Applicacion.ProcessMessages;
    end;
  // Al salir del ciclo significa que la pantalla principal de la aplicación ya no está activa.
  ...
  // Cerrar aplicación llamadora.
  ...
end;

cHackAll 15-10-2008 22:08:02

Use ShellExecuteEx o CreateProcess.

Saludos

roman 16-10-2008 00:27:39

De hecho es lo que ya cita escafandra. En el enlace mencionado viene la función WinExecAndWait32 que utiliza WaitForSingleObject. Faltará ver si petete se decide a examinar el código o no.

// Saludos

petete2008 21-10-2008 20:43:14

Si, muchas gracias a todo.
Por motivos de faena no he podido todavia ver el código pero en tal que me despeje un poco le hecho un vistazo.
Muchas gracias a todos!!


La franja horaria es GMT +2. Ahora son las 12:09:03.

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