4

这就是我正在做的事情。我有一个使用 Process.Start() 触发 20 个进程的循环。我希望它们同时开火,但是我想在它们关闭时抓住它们。无论如何在 C# 中可以做到这一点?

我知道您可以执行 process.WaitForExit(),但是它们都不会立即触发(这就是我希望它执行的操作)。基本上,我想知道某些进程何时结束,这样我就可以通过更新数据库记录来通知用户,这样他们就可以知道某些进程何时结束。而不是仅仅试图在它们关闭并将 ProcessWindowStyle 更改为正常时跟踪它们。

非常感谢。

4

2 回答 2

6

设置Process.EnableRaisingEvents为 true,并订阅Exited事件。

另一种方法是有一个计时器,您可以在上面检查HasExited财产。

于 2011-08-11T21:18:50.037 回答
3

您可以收听Exited 事件(您必须确保EnableRaisingEvents为 true)。

于 2011-08-11T21:17:39.577 回答