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
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:
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é.