problema con Process.start y explorer.exe
Buenas
Tengo un problema cuando quiero ejecutar el explorer.exe desde un programa en VB .Net.
Resulta que necesito ejecutar el explorer.exe y que el programa espere el tiempo que le indique. He utilizado Process.start y Process.WaitForExit, pero aunque el explorer se ejecuta no espera el tiempo que le indico en el WaitForExit. De hecho el objeto Process me dice que el explorer.exe ya ha terminado de ejecutarse cuando realmente aún tengo la ventana del explorer abierta.
También he probado con Shell, pero me ocurre exactamente igual.
Gracias.
Tengo un problema cuando quiero ejecutar el explorer.exe desde un programa en VB .Net.
Resulta que necesito ejecutar el explorer.exe y que el programa espere el tiempo que le indique. He utilizado Process.start y Process.WaitForExit, pero aunque el explorer se ejecuta no espera el tiempo que le indico en el WaitForExit. De hecho el objeto Process me dice que el explorer.exe ya ha terminado de ejecutarse cuando realmente aún tengo la ventana del explorer abierta.
También he probado con Shell, pero me ocurre exactamente igual.
Gracias.
Código que funciona -probado!-. Para que testees.
Te ayudará a saber donde puede estar el error si vas consultando el valor de la función durante la ejecución.
'...................................
Function ejecutarConStart() as Boolean
ejecutarConStart = False
Dim PSInfo As New ProcessStartInfo
PSInfo = New ProcessStartInfo("NombreDelEjecutable", "Argumentos")
Dim myproc As New Process
myproc.StartInfo = PSInfo
myproc.Start()
ejecutarConStart = myproc.Responding 'TRUE
myproc.WaitForExit() 'Esperará indefinidamente hasta que el proceso asociado termine.
ejecutarConStart = myproc.HasExited 'TRUE
myproc.Dispose() 'Liberará todos los recursos utilizados.
End Function
'.....................................
Te ayudará a saber donde puede estar el error si vas consultando el valor de la función durante la ejecución.
'...................................
Function ejecutarConStart() as Boolean
ejecutarConStart = False
Dim PSInfo As New ProcessStartInfo
PSInfo = New ProcessStartInfo("NombreDelEjecutable", "Argumentos")
Dim myproc As New Process
myproc.StartInfo = PSInfo
myproc.Start()
ejecutarConStart = myproc.Responding 'TRUE
myproc.WaitForExit() 'Esperará indefinidamente hasta que el proceso asociado termine.
ejecutarConStart = myproc.HasExited 'TRUE
myproc.Dispose() 'Liberará todos los recursos utilizados.
End Function
'.....................................
