等待进程完成后显示消息(C#)

6
我希望能够监视一个进程,直到它终止,并在不存在时显示消息,这应该如何实现?

1
使用 Process.Exited 事件。 - Hans Passant
这个回答解决了你的问题吗?等待进程结束 - skst
3个回答

11

创建/连接进程,然后使用 WaitForExit() 阻塞等待直到其退出,或者如果您不希望应用程序在等待文件退出时阻塞,则使用 OnExited 事件。

我强烈建议查看 Process 的文档 - 就在这里


9
.NET框架已经内置了这种支持。您需要使用Process.Start方法来启动进程,然后调用WaitForExit方法,该方法将阻止您的应用程序执行,直到您启动的进程完成并关闭。
示例代码:
// 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.");


相关知识库文章:如何使用Visual C#等待应用程序运行完成


人们永远无法过分强调事件处理程序的优点-而OnExited是一个很好的选择。 - Olipro

1

我认为这就是你想要做的:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接