si lo que quieres hacer es esperar a que tu aplicacion espere a que termine la ejecucion de la ventana del DOS, te paso un tip, que aqui mismo me dieron:
en tu programa en lugar de usar el shell
usa esta funcion
ExeEspera "comando ms-dos"
Private Function ExeEspera(COMANDO As String)
Dim hProcess As Long
Dim RetVal As Long
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(COMANDO, vbMinimizedNoFocus))
Do
GetExitCodeProcess hProcess, RetVal
DoEvents
Pausa 100
Loop While RetVal = STILL_ACTIVE
End Function
en tu programa en lugar de usar el shell
usa esta funcion
ExeEspera "comando ms-dos"
Private Function ExeEspera(COMANDO As String)
Dim hProcess As Long
Dim RetVal As Long
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(COMANDO, vbMinimizedNoFocus))
Do
GetExitCodeProcess hProcess, RetVal
DoEvents
Pausa 100
Loop While RetVal = STILL_ACTIVE
End Function
Gracias CeLaYa por el código, pero le hace falta algunas cosas, como funciones y APIS, con las APIS no hay problema, pero sí con las funciones, pero no importa, ya solucioné el problema de otra forma (sencilla y que no consume muchos recursos). Esta fue la solución:
Código:
Dim Success%
Private Function FileExists%(fname$)
On Local Error Resume Next
Dim ff%
ff% = FreeFile
Open fname$ For Input As ff%
If Err Then
FileExists% = False
Else
FileExists% = True
End If
Close ff%
End Function
Private Sub Command1_Click()
1
'Se ejecuta el primer proceso
'
'
'
'
'
'Se ejecuta el proceso de MS-DOS
'
'
'
'Se prepara la función para comprobar la existencia de Archivo.txt
Success% = FileExists(App.Path & "\Archivo.txt")
'En caso de ser verdadero
If Success% = True Then
'Se ejecuta el proceso que deseo
Else
' Se regresa al primer proceso hasta que se encuentre el archivo
GoTo 1
End If
'Se continua con otro proceso
End Sub
Obviamente no está completo el código, pero con esto cualquiera se da una idea de que ya pude llevar a cabo lo que quería. Muchas gracias por tu ayuda.
No estaría mal que publicaras el código completo que mostraste al principio, quizás me sea más útil que lo que encontré.





Autor


En línea

