• 转:强制关闭.net程序


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

     

    在Program.cs加上如下

    .static class Program    
        {    
            /// <summary>    
            /// 应用程序的主入口点。    
            /// </summary>    
            [STAThread]    
            static void Main()    
            {    
                Application.EnableVisualStyles();    
                Application.SetCompatibleTextRenderingDefault(false);    
                Application.Run(new MainForm());    
                //强制关闭进程    
                string exeName = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;    
                string[] exeArray = exeName.Split('\');    
        
                FunctionClass.RunCmd("taskkill /im " + exeArray[exeArray.Length-1] + " /f ");    
            }    
        }   
    原始来源未知

    解决了问题。

  • 相关阅读:
    一个简单的空间配置器
    【转】c++中placement new操作符
    类的operator new与operator delete的重载【转】
    STL中常用的c++语法
    java编程思想-多态
    java编程思想-复用类(2)
    java编程思想-复用类
    import与require的区别
    gulp插件
    gulp-gulpfile.js语法说明
  • 原文地址:https://www.cnblogs.com/yansc/p/10038749.html
Copyright © 2020-2023  润新知