C#如何判断程序调用的exe已结束
二個方法:以運(yùn)行系統(tǒng)記事本為例
方法一:這種方法會阻塞當(dāng)前進(jìn)程,直到運(yùn)行的外部程序退出
System.Diagnostics.Process exep = System.Diagnostics.Process.Start(@"C:\Windows\Notepad.exe");
exep.WaitForExit();//關(guān)鍵,等待外部程序退出后才能往下執(zhí)行
MessageBox.Show("Notepad.exe運(yùn)行完畢");
方法二:為外部進(jìn)程添加一個事件監(jiān)視器,當(dāng)退出后,獲取通知,這種方法時不會阻塞當(dāng)前進(jìn)程,你可以處理其它事情
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事件處理代碼,這里外部程序退出后激活,可以執(zhí)行你要的操作
void exep_Exited(object sender, EventArgs e)
{
MessageBox.Show("Notepad.exe運(yùn)行完畢");
}
?
方法三
c#中怎樣判斷一個exe程序是否正在運(yùn)行?if (System.Diagnostics.Process.GetProcessesByName("要獲取的程序在進(jìn)程中的名稱不要加后綴").ToList().Count > 0) { //存在 } else { //不存在 }?
總結(jié)
以上是生活随笔為你收集整理的C#如何判断程序调用的exe已结束的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决: Cannot find modu
- 下一篇: c#中程序以管理员身份运行的三种办法