La Web del Programador: Comunidad de Programadores
 
    Pregunta:  17826 - SABER SI UN PROGRAMA HA TERMINADO
Autor:  Javier Richart
Estoy programando en Visual Basic 5.0 sobre Windows 2000 Profesional. Necesito llamar a un programa externo y mi aplicación no debe continuar hasta que este programa finalice.

He probado con las API's OpenProcess y GetExitCodeProcess, pero no consigo ningún resultadom pues ambas funciones me devuelven siempre el valor 0.

¿ Como puedo saber si la función externa ha concluido su ejecución ?

Un saludo y gracias.

  Respuesta:  Paul Guerra
Las APIs que comentás no te van a ayudar de mucho. En realidad lo que tenés que hacer es abrir el programa con la API <ShellExecuteEx>, y con la API <WaitForSingleObject> parás el programa hasta que el mismo termine. No se porqué, pero la API <ShellExecuteEx> no aparece en el API Viewer.
Si necesitás más información, mandame un mail.