C# 强制关闭当前程序进程(完全Kill掉不留痕迹)

 1 /// <summary>    
 2         /// 运行DOS命令    
 3         /// DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID    
 4         /// </summary>    
 5         /// <param name="command"></param>    
 6         /// <returns></returns>    
 7         public static string RunCmd(string command)    
 8         {    
 9             //實例一個Process類,啟動一個獨立進程    
10             System.Diagnostics.Process p = new System.Diagnostics.Process();    
11     
12             //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:    
13     
14             p.StartInfo.FileName = "cmd.exe";           //設定程序名    
15             p.StartInfo.Arguments = "/c " + command;    //設定程式執行參數    
16             p.StartInfo.UseShellExecute = false;        //關閉Shell的使用    
17             p.StartInfo.RedirectStandardInput = true;   //重定向標準輸入    
18             p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出    
19             p.StartInfo.RedirectStandardError = true;   //重定向錯誤輸出    
20             p.StartInfo.CreateNoWindow = true;          //設置不顯示窗口    
21     
22             p.Start();   //啟動    
23     
24             //p.StandardInput.WriteLine(command);       //也可以用這種方式輸入要執行的命令    
25             //p.StandardInput.WriteLine("exit");        //不過要記得加上Exit要不然下一行程式執行的時候會當機    
26     
27             return p.StandardOutput.ReadToEnd();        //從輸出流取得命令執行結果    
28     
29         }  
30     
View Code

在Program.cs加上如下

 1 static class Program    
 2     {    
 3         /// <summary>    
 4         /// 应用程序的主入口点。    
 5         /// </summary>    
 6         [STAThread]    
 7         static void Main()    
 8         {    
 9             Application.EnableVisualStyles();    
10             Application.SetCompatibleTextRenderingDefault(false);    
11             Application.Run(new MainForm());    
12             //强制关闭进程    
13             string exeName = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;    
14             string[] exeArray = exeName.Split('\\');    
15     
16             FunctionClass.RunCmd("taskkill /im " + exeArray[exeArray.Length-1] + " /f ");    
17         }    
18     }   
View Code

 

转载于:https://www.cnblogs.com/Maculish/p/5067099.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值