以下是我正在做的事情。我有一个使用Process.Start()触发20个进程的循环。我希望他们都立即开火,但是我想在他们结束时抓住他们。无论如何在C#中做到这一点?处理多个流程的关闭
我知道你可以做process.WaitForExit(),但是它们都不会立即触发(这是我想要的)。基本上,我想知道某些进程何时结束,因此我可以通过更新数据库记录来通知用户,以便他们知道特定进程何时完成。而不是仅仅试图跟踪它们,因为它们关闭并将ProcessWindowStyle更改为正常。
非常感谢。
以下是我正在做的事情。我有一个使用Process.Start()触发20个进程的循环。我希望他们都立即开火,但是我想在他们结束时抓住他们。无论如何在C#中做到这一点?处理多个流程的关闭
我知道你可以做process.WaitForExit(),但是它们都不会立即触发(这是我想要的)。基本上,我想知道某些进程何时结束,因此我可以通过更新数据库记录来通知用户,以便他们知道特定进程何时完成。而不是仅仅试图跟踪它们,因为它们关闭并将ProcessWindowStyle更改为正常。
非常感谢。
将Process.EnableRaisingEvents
设为true,并订阅Exited
事件。
另一种方法是在计时器上检查HasExited
属性。
您可以收听Exited event(您必须确保EnableRaisingEvents为真)。