2011-07-17 39 views

回答

8

.NET Framework内置了对此的支持。您需要使用Process.Start method来启动该进程,然后调用WaitForExit method,这会阻止应用程序的执行,直到您启动的进程完成并关闭。

示例代码:

// 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."); 


相关知识库文章:How to wait for a shelled application to finish using Visual C#

+0

人们永远不会夸大事件处理程序的优点 - 而OnExited是一个不错的选择。 – Olipro

11

创建/附加到该进程,然后要么使用WaitForExit()阻塞,直到它已退出,或者如果使用OnExited事件您不希望应用程序在等待应用程序退出时阻止。

我衷心建议您阅读文档Process - right here

1

我想这是你想要做什么:

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