string file =Application.StartupPath+@"\WinFrm_Main.exe";//運行程序位置 public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // StopExe(file); timer1.Enabled = false; } private void button2_Click(object sender, EventArgs e) { timer1.Enabled = true; } void StopExe(string file) { Process pr = new Process();//聲明一個進程類對象 pr.StartInfo.FileName = file;//指定運行的程序, pr.Start();//運行 } void StartExt() { //Process[] p_arry = Process.GetProcesses();//獲得系統全部進程 //for (int i = 0; i < p_arry.Length; i++)//遍歷每一個進程 //{ // if (p_arry[i].ProcessName == "WinFrm_Main" && !p_arry[i].Responding)//發現有名爲QQ的進程 // { // p_arry[i].Kill();//就結束它。 // return; // } //} Process[] proc = Process.GetProcessesByName("WinFrm_Main");//建立一個進程數組,把與此進程相關的資源關聯。 for (int i = 0; i < proc.Length; i++) { proc[i].Kill(); //逐個結束進程. } System.GC.Collect();//垃圾回收 } private void timer1_Tick(object sender, EventArgs e) { Process[] proc = Process.GetProcessesByName("WinFrm_Main");//建立一個進程數組,把與此進程相關的資源關聯。 for (int i = 0; i < proc.Length; i++) { if (proc[i].ProcessName == "WinFrm_Main" && !proc[i].Responding)//發現有名爲WinFrm_Main的進程 或 WinFrm_Main和電腦中止交互 就退出 { proc[i].Kill();//就結束它。 //StopExe(file); } } if (proc.Length==0)//啓動 StopExe(file); System.GC.Collect();//垃圾回收 }
下載地址:http://download.csdn.net/detail/amy1314250/9849891數組