C# 检测启动的进程是否已关闭

C# 检测启动的进程是否已关闭,c#,process.start,C#,Process.start,我想检测一个启动的程序是否已经关闭。我现在正在用命令启动它 Process.Start(Environment.CurrentDirectory + @"\Card Downloader.exe"); 是否有人可以使用不同的启动器来执行此操作?过程.Start方法返回一个实例。在这个实例中,您可以使用一些可用的方法,例如或订阅此过程结束时将触发的事件 var process = Process.Start(Environment.CurrentDirectory + @"\Card Dow

我想检测一个启动的程序是否已经关闭。我现在正在用命令启动它

 Process.Start(Environment.CurrentDirectory + @"\Card Downloader.exe"); 

是否有人可以使用不同的启动器来执行此操作?

过程.Start方法返回一个实例。在这个实例中,您可以使用一些可用的方法,例如或订阅此过程结束时将触发的事件

var process = Process.Start(Environment.CurrentDirectory + @"\Card Downloader.exe"); 
process.Exited += (sender, e) =>
{
    // this will be called when the process exists
};
Start()方法返回一个进程对象。 将其分配给变量并在上调用WaitForExit()


来源:

您可以使用
流程。退出
事件

var myProcess = new Process();
...
myProcess.Exited += new EventHandler(myProcess_Exited);
myProcess.Start();

您需要订阅进程退出事件,但还需要将EnableRaisingEvents标志设置为true

var process = Process.Start(Environment.CurrentDirectory + @"\Card Downloader.exe");
process.EnableRaisingEvents = true;
process.Exited += (sender, e) =>
{
    ...
};
根据,如果未设置标志,则仅当进程在用户调用HasExited属性期间或之前关闭时,才会引发事件