C# 启动外部程序的几种方法
1.启动外部程序,不等待其退出。2.启动外部程序,等待其退出。3.启动外部程序,无限等待其退出。4.启动外部程序,通过事件监视其退出。//usingSystem.Diagnostics;privatestringappName="calc.exe";///<summary>///1.启动外部程序,不等待其退出///</summary>privatevoidbutton1_Click(objectsender,EventArgse){Process.Start(appName);MessageBox.Show(String.Format("外部程序{0}启动完成!",this.appName),this.Text,MessageBoxButtons.OK,MessageBoxIcon.Information);}///<summary>///2.启动外部程序,等待其退出///</summary>privatevoidbutton2_Click(objectsender,EventArgse){try{Processproc=Process.Start(appName);if(proc!=null){proc.WaitForExit(3000);if(proc.HasExited)MessageBox.Show(String.Format("外部程序{0}已经退出!",this.appName),this.Text,MessageBoxButtons.OK,MessageBoxIcon.Information);else{//如果外部程序没有结束运行则强行终止之。proc.Kill();MessageBox.Show(String.Format("外部程序{0}被强行终止!",this.appName),this.Text,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);}}}catch(ArgumentExceptionex){MessageBox.Show(ex.Message,this.Text,MessageBoxButtons.OK,MessageBoxIcon.Error);}}///<summary>///3.启动外部程序,无限等待其退出///</summary>privatevoidbutton3_Click(objectsender,EventArgse){try{Processproc=Process.Start(appName);if(proc!=null){proc.WaitForExit();MessageBox.Show(String.Format("外部程序{0}已经退出!",this.appName),this.Text,MessageBoxButtons.OK,MessageBoxIcon.Information);}}catch(ArgumentExceptionex){MessageBox.Show(ex.Message,this.Text,MessageBoxButtons.OK,MessageBoxIcon.Error);}}///<summary>///4.启动外部程序,通过事件监视其退出///</summary>privatevoidbutton4_Click(objectsender,EventArgse){try{//启动外部程序Processproc=Process.Start(appName);if(proc!=null){//监视进程退出proc.EnableRaisingEvents=true;//指定退出事件方法proc.Exited+=newEventHandler(proc_Exited);}}catch(ArgumentExceptionex){MessageBox.Show(ex.Message,this.Text,MessageBoxButtons.OK,MessageBoxIcon.Error);}}///<summary>///启动外部程序退出事件///</summary>voidproc_Exited(objectsender,EventArgse){MessageBox.Show(String.Format("外部程序{0}已经退出!",this.appName),this.Text,MessageBoxButtons.OK,MessageBoxIcon.Information);
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。