C#如何隐藏控制台程序cmd窗口

  下面代码实现隐藏C#控制台程序打开的cmd窗口

       public static string Execute(string exe, string args)
        {
            string output = "";
            if (exe != null && exe != "")
            {
                Process process = new Process();                       //创建进程对象 
                ProcessStartInfo startinfo = new ProcessStartInfo();   //创建进程时使用的一组值,如下面的属性 
                startinfo.FileName = exe;                              //设定需要执行的命令程序
 
                //以下是隐藏cmd窗口的方法 
                startinfo.Arguments = args;                 //设定参数,要输入到命令程序的字符 
                startinfo.UseShellExecute = false;          //不使用系统外壳程序启动 
                startinfo.RedirectStandardInput = false;    //不重定向输入 
                startinfo.RedirectStandardOutput = true;    //重定向输出,而不是默认的显示在dos控制台上 
                startinfo.CreateNoWindow = true;            //不创建窗口 
                process.StartInfo = startinfo;
                try
                {
                    if (process.Start())//开始进程 
                    {
                        output = process.StandardOutput.ReadToEnd();//读取进程的输出 
                    }
                }
                finally
                {
                    if (process != null)
                    { 
                        process.Close(); 
                    }
                }
            }
            return output;
        }

 

下面代码通过win32API来实现,注意导入DllImport所在名字空间 using System.Runtime.InteropServices;

        [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
        static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
        [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        

    Console.Title = "WAHAHA"; //为控制台窗体指定一个标题
            IntPtr intptr = FindWindow("ConsoleWindowClass", "WAHAHA");
            if (intptr != IntPtr.Zero)
            {
                ShowWindow(intptr, 0);//隐藏这个窗口
            }

 

加支付宝好友偷能量挖...


评论(0)网络
阅读(735)喜欢(0)Asp.Net/C#/WCF