处理多个进程的关闭

时间:2011-08-11 21:13:59

标签: c# windows forms process.start

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

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

非常感谢。

2 个答案:

答案 0 :(得分:6)

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

另一种方法是使用计时器检查HasExited属性。

答案 1 :(得分:3)

您可以收听Exited event(您必须确保EnableRaisingEvents为真)。