Visual Basic - Saber si un programa ha acabado

Life is soft - evento anual de software empresarial
 
Vista:

Saber si un programa ha acabado

Publicado por Javier (3 intervenciones) el 18/07/2001 07:42:31
Necesito llamar desde el VB 5 mediante el comando SHELL a un programa de MS-DOS, pero mi aplicación no debe continuar hasta que finalice la ejecución del programa en DOS.

Mi pregunta es como puedo saber si la aplicación DOS ha finalizado o no su ejecución desde el VB

Un saludo y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Saber si un programa ha acabado

Publicado por Gaba (43 intervenciones) el 18/07/2001 08:53:39
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal Hprocess As Long, lpExitCode As Long) As Long

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400
'''''''''''''''''''''''''''''''''''''''''''''''''''''
'Un procedimiento para ejecutar y esperar a que termine
Public Sub CargaConex()
'Esperar a que un proceso termine,
'la ventana se mostrará minimizada sin foco
Dim Hp As Long
Dim RV As Long
Hp = OpenProcess(PROCESS_QUERY_INFORMATION, False, _
Shell(App.path & "\CONEXION.BAT " & " " & NomConex & " " & UsuConex & " " & PassConex & " ", vbHide)) 'vbhide
Do
'obtiene el estado del proceso
GetExitCodeProcess Hp, RV
DoEvents
Sleep 100
'Loop mientras el proceso este activo
Loop While RV = STILL_ACTIVE
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar