2011-07-17 23 views

Respuesta

8

.NET Framework ha incorporado soporte para esto. Debe utilizar el Process.Start method para iniciar el proceso, y luego llamar al WaitForExit method, que bloqueará la ejecución de su aplicación hasta que el proceso iniciado haya finalizado y cerrado.

Código de ejemplo:

// Start the process. 
Process proc = Process.Start("notepad.exe"); // TODO: NEVER hard-code strings!!! 

// Wait for the process to end. 
proc.WaitForExit(); 

// Show your message box. 
MessageBox.Show("Process finished."); 


relacionada artículo de la base de conocimientos: How to wait for a shelled application to finish using Visual C#

+0

Nunca se pueden exagerar las virtudes de los controladores de eventos, y OnExited es una excelente opción. – Olipro

11

Crear/asociar al proceso y luego o bien usar WaitForExit() bloquear hasta que ha salido o bien utiliza el OnExited Evento si no desea que su aplicación se bloquee mientras espera que la aplicación salga.

lo recomiendo revisar la documentación para Process - right here

1

Creo que esto es lo que quiere hacer:

System.Diagnostics.Process process=new System.Diagnostics.Process(); 
process.StartInfo.FileName = "process.exe"; 
process.Start(); 
process.WaitForExit(); 
//process ended 
MessageBox.Show("Process terminated"); 
Cuestiones relacionadas