Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2008
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 12-10-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Mira a ver si esto te sirve para empezar.

Saludos.
Responder Con Cita
  #3  
Antiguo 15-10-2008
JAV JAV is offline
Miembro
 
Registrado: mar 2005
Posts: 34
Poder: 0
JAV Va por buen camino
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;
Responder Con Cita
  #4  
Antiguo 15-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Use ShellExecuteEx o CreateProcess.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #5  
Antiguo 16-10-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #6  
Antiguo 21-10-2008
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
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!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar si un programa está en ejecución Miguel45 OOP 2 13-04-2007 13:51:08
Detectar finalización de un exe pablomg8 API de Windows 4 14-11-2005 14:32:22
Detectar Dependencias de un programa hecho en delphi senpiterno Varios 1 24-01-2005 13:56:06
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
Ejecutar un programa DENTRO de otro programa seduerey Varios 8 12-11-2003 13:56:20


La franja horaria es GMT +2. Ahora son las 14:54:26.


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
Copyright 1996-2007 Club Delphi