我想知道是否有可能检测到某个进程何时以正常方式被杀死或关闭。换句话说,如果从流程列表中删除流程。
我知道可以使用WMI和System.Management.ManagentEventWatcher,但是这需要管理员权限,如果没有要求,我更愿意这样做。
目前我使用Process.Start(“ProgramX.exe”);我想知道该程序何时关闭或终止。所以我可以采取行动。
答案 0 :(得分:1)
如果您自己启动该过程,则可以等待它使用Process.WaitForExit method完成。请注意,wait是一个阻塞操作,最好是在另一个线程中执行,然后从该线程发出事件信号。
例如:
var process = Process.Start("ProgramX.exe");
...
process.WaitForExit();