当另一个进程退出时,在C#中引发事件

phi*_*131 6 c# wpf events process

我不知道这个问题是否已被提出,但我找不到任何内容,所以如果你能找到一些东西,请引导我朝着正确的方向前进.

基本上,我想在我的当前C#程序中添加一个事件,以便在另一个指定进程("example.exe")退出时引发.那可能吗?

如果那是不可能的,那么,当通过直接路径("C:\ somefolderpaths ...\example.exe")指定的进程退出时,是否存在引发事件的方法?

要添加:我的程序不会启动进程example.exe.

Tig*_*ran 3

如果您使用 C# 4.0,您可以执行以下操作:

 Task.Factory.StartNew(() => 
  { 
      var process = Process.Start("process.exe");
      process.WaitForExit();
  }).ContinueWith(

      //THE CODE THAT WILL RUN AFTER PROCESS EXITED.  

  ); 
Run Code Online (Sandbox Code Playgroud)

编辑

如果您不是流程的创建者,则可以使用Process.GetProcessesByName函数从现有可用流程中检索流程。

var process = Process.GetProcessesByName("process.exe");
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以避免阻塞主线程,并在外部进程退出时运行您需要的代码。同时,继续做更重要的事情。