c#關(guān)閉系統(tǒng)進(jìn)程以及如何調(diào)用cmd并執(zhí)行命令

字號:

使用了兩種方法,一種是調(diào)用cmd執(zhí)行強(qiáng)制關(guān)閉命令,另一種是通過C#提供的方法進(jìn)行關(guān)閉
    第一種
    string ProcessName="explorer";//這里換成你需要刪除的進(jìn)程名稱
     Process[] MyProcess1=Process.GetProcessesByName(ProcessName);
    Process MyProcess=new Process();
    //設(shè)定程序名
     MyProcess.StartInfo.FileName="cmd.exe";
    //關(guān)閉Shell的使用
     MyProcess.StartInfo.UseShellExecute=false;
    //重定向標(biāo)準(zhǔn)輸入
     MyProcess.StartInfo.RedirectStandardInput=true;
    //重定向標(biāo)準(zhǔn)輸出
     MyProcess.StartInfo.RedirectStandardOutput=true;
    //重定向錯誤輸出
     MyProcess.StartInfo.RedirectStandardError=true;
    //設(shè)置不顯示窗口
     MyProcess.StartInfo.CreateNoWindow=true;
    //執(zhí)行強(qiáng)制結(jié)束命令
     MyProcess.Start();
    MyProcess.StandardInput.WriteLine("ntsd -c q -p "+(MyProcess1[0].Id).ToString());//直接結(jié)束進(jìn)程ID
     MyProcess.StandardInput.WriteLine("Exit");
    第二種,通過強(qiáng)大的進(jìn)程類進(jìn)行標(biāo)準(zhǔn)關(guān)閉。
    string ProcessName="explorer";//換成想要結(jié)束的進(jìn)程名字
     Process[] MyProcess=Process.GetProcessesByName(ProcessName);
    MyProcess[0].Kill();