C#的process进程调用的外部程序关闭后执行某个操作

时间: 2022-02-19 / 分类: C# / 浏览次数: 236 views / 0个评论 发表评论

方法一:这种方法会阻塞当前进程,直到运行的外部程序退出

System.Diagnostics.Process exep = System.Diagnostics.Process.Start(@“C:\Windows\Notepad.exe”);

exep.WaitForExit();//关键,等待外部程序退出后才能往下执行

MessageBox.Show(“Notepad.exe运行完毕”);

方法二:为外部进程添加一个事件监视器,当退出后,获取通知,这种方法时不会阻塞当前进程,你可以处理其它事情

System.Diagnostics.Process exep = new System.Diagnostics.Process();

exep.StartInfo.FileName = @“C:\Windows\Notepad.exe”;

exep.EnableRaisingEvents = true;

exep.Exited += new EventHandler(exep_Exited);

exep.Start();

//exep_Exited事件处理代码,这里外部程序退出后激活,可以执行你要的操作

void exep_Exited(object sender, EventArgs e)

{

MessageBox.Show(“Notepad.exe运行完毕”);

}

https://blog.csdn.net/qq_45835940/article/details/107087274

发表评论

您的昵称 *

您的邮箱 *

您的网站