用Dos黑窗口运行Cmd命令

 public class BlackWindow

    {

        private static BlackWindow _instance;

 

        public static BlackWindow Instance

        {

            get

            {

                if (_instance == null)

                    _instance = new BlackWindow();

 

                return _instance;

            }

        }     

 

        public System.Diagnostics.Process pro { set; get; }

 

        BlackWindow()

        {

            //下面StartInfo的UseShellExecute和RedirectStandardInput/Output选项为互斥选项

            //若设置UseShellExecute=true代表使用dos黑窗口,但RedirectStandardInput/Output必须为false,表示输入输出也只能通过dos窗口手工录入,不能通过StandardInput.WriteLine输入

            //若要显示Dos窗口,但又想通过程序输入命令,只能用StartInfo.Arguments = cmdLine;但该参数只能输入一行

            //StartInfo.Arguments命令前一定要加/k表示打开新窗口,否则运行结果无法显示

 

            pro = new System.Diagnostics.Process();

            pro.StartInfo.FileName = "cmd.exe";

            //pro.StartInfo.UseShellExecute = false; //true代表使用dos窗口,默认true

            //pro.StartInfo.RedirectStandardInput = true;

            // pro.StartInfo.RedirectStandardOutput = true;

            //pro.StartInfo.CreateNoWindow = true;           

 

        }

        public void Start(string cmdLine)

        {

            pro.StartInfo.Arguments = cmdLine;

            pro.StartInfo.WorkingDirectory = "";//工作目录

            pro.Start();

            //pro.StandardInput.WriteLine(cmdLine);

            pro.WaitForExit();

            pro.Close();           

        }

    }

posted on 2018-05-14 13:45  mol1995  阅读(910)  评论(0编辑  收藏  举报

导航