C# 實現打開和關閉可執行文件


 一、打開程序。

    先介紹    System.Diagnostics.Process類:用來啟動和停止進程的。

        1、

          

  Process pr = new Process();//聲明一個進程類對象
            pr.StartInfo.FileName = "E://Program Files//Tencent//QQ//QQ.exe";//指定運行的程序,我的QQ的物理路徑。
            pr.Start();//運行QQ

 

    2、還可以簡單點:Process的靜態方法Start();

    Process.Start(String  fileName);(+4重載) //filiName 是你要運行的程序名,是物理路徑

    Process.Start(String  fileName,string arguments)//filiName 是你要運行的程序名,是物理路徑;arguments啟動改程序時傳遞的命令行參數

        二、

    還以剛才的QQ為例,

  1、 

 Process[] proc = Process.GetProcessesByName("QQ");//創建一個進程數組,把與此進程相關的資源關聯。
            for (int i = 0; i < proc.Length; i++)
            {
                proc[i].Kill();  //逐個結束進程.
            }

 

    2、

Process[] p_arry = Process.GetProcesses();//得到系統所有進程
            for (int i = 0; i < p_arry.Length; i++)//遍歷每個進程
            {
                if (p_arry[i].ProcessName == "QQ")//發現有名為QQ的進程
                {                    
                    p_arry[i].Kill();//就結束它。
                    return;
                }
            }
            System.GC.Collect();//垃圾回收

 

        這個方法是有點耗資源,還有沒有if判斷就全部kill了,回頭試試。

 

三、程序

using System;
class test
{
static void Main()
{

//聲明一個程序信息類
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();

//設置外部程序名
Info.FileName = "notepad.exe";

//設置外部程序的啟動參數(命令行參數)為test.txt
Info.Arguments = "test.txt";

//設置外部程序工作目錄為 C:\
Info.WorkingDirectory = "C:\\";

//聲明一個程序類
System.Diagnostics.Process Proc ;

try
{
//
//啟動外部程序
//
Proc = System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception e)
{
Console.WriteLine("系統找不到指定的程序文件。\r{0}", e);
return;
}

//打印出外部程序的開始執行時間
Console.WriteLine("外部程序的開始執行時間:{0}", Proc.StartTime);

//等待3秒鍾
Proc.WaitForExit(3000);

//如果這個外部程序沒有結束運行則對其強行終止
if(Proc.HasExited == false)
{
Console.WriteLine("由主程序強行終止外部程序的運行!");
Proc.Kill();
}
else
{
Console.WriteLine("由外部程序正常退出!");
}
Console.WriteLine("外部程序的結束運行時間:{0}", Proc.ExitTime);
Console.WriteLine("外部程序在結束運行時的返回值:{0}", Proc.ExitCode);
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM