【发布时间】:2018-11-27 14:31:22
【问题描述】:
在我的应用程序中,用户可以通过单击一个按钮来启动 Visual Studio 代码进程(单击后它会被禁用)。现在我想检测它何时被Exited-事件关闭。在开始进程之前,我必须检查是否已经有一个实例正在运行,因为那时我必须将正在运行的进程订阅到Exited-事件(如果我订阅了我的新进程,它将立即被触发)。
问题是,如果您启动一个 VS 代码实例,则有 5 个“子进程”,所以我必须先检测它们是否都已关闭,然后才能再次启用该按钮。在Exited-事件之后,并非所有进程都会立即完成。
一个解决方案是Thread.Sleep(500),但我认为这不是解决问题的好方法。
还有其他解决方案吗?
编辑:主要任务是检测进程是否正在关闭。
【问题讨论】:
-
你看过这个吗,(stackoverflow.com/questions/5901679/…),它可能对你有帮助
-
你知道子进程的名字吗?
-
我有 ID 和进程名称,是的