怎么能上 c# 调用DOS  不显示命令窗口  把他回显到 程序的控件上

解决方案 »

  1.   

    Process.StandardOutput 属性 
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    摘录:《程序员秘书》--源代码--进程--后台执行DOS命令
    6、在Form1.cs的视图设计器中,选中button1,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
    private void button1_Click(object sender, EventArgs e)
    {
        Process myProcess = new Process();
        myProcess.StartInfo.FileName = "cmd.exe";//DOS控制平台
        myProcess.StartInfo.UseShellExecute = false;
        myProcess.StartInfo.CreateNoWindow = true;
        myProcess.StartInfo.RedirectStandardInput = true;
        myProcess.StartInfo.RedirectStandardOutput = true;
        myProcess.StartInfo.RedirectStandardError = true;
        myProcess.Start();
        StreamWriter sIn = myProcess.StandardInput;//标准输入流
        sIn.AutoFlush = true;
        StreamReader sOut = myProcess.StandardOutput;//标准输入流
        StreamReader sErr = myProcess.StandardError;//标准错误流
        string cmd = "dir";//DOS控制平台上的命令:显示所有文件
        sIn.Write(cmd + System.Environment.NewLine);
        sIn.Write("exit" + System.Environment.NewLine);
        string s = sOut.ReadToEnd();//读取执行DOS命令后输出信息
        string er = sErr.ReadToEnd();//读取执行DOS命令后错误信息
        richTextBox1.AppendText(s);
        richTextBox1.AppendText(er);
        if (myProcess.HasExited == false)
        {
            myProcess.Kill();
        }
        sIn.Close();
        sOut.Close();
        sErr.Close();
        myProcess.Close();
    }立即成为编程经验丰富的程序员不是梦,详见:http://www.psec.net.cn