Hi:
我想获取 控制台(控制台程序) 输出的所有内容,c# 如何获得? 提前谢谢了!比如:            Console.WriteLine("控制台内容1 >>>");
            Console.WriteLine("控制台内容2 >>>");
运行完控制台应该输出:
控制台内容1
控制台内容1
我想获得上边内容,有啥方法不? 谢谢了

解决方案 »

  1.   

    有一种简单的方法就是 定义一个全局变量
    string str="控制台内容1";
    str+="控制台内容2";
      

  2.   

    还有一种方式:
    process = new Process();
                process.StartInfo.FileName = "xx.exe";
                process.StartInfo.Arguments = path;
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardInput = true;
                process.StartInfo.CreateNoWindow = true;
                process.StartInfo.StandardOutputEncoding = Encoding.ASCII;            process.Start();
                process.WaitForExit(3000);
                txtRes.Text = process.StandardOutput.ReadToEnd();
                process.Close();
      

  3.   

            private void Form1_Load(object sender, EventArgs e)
            {
                Process Processer = new Process();
                Processer.StartInfo.FileName = "";            
                Processer.StartInfo.RedirectStandardOutput = true;
                Processer.StartInfo.RedirectStandardInput = true;
                Processer.StartInfo.RedirectStandardError = true;
                Processer.StartInfo.UseShellExecute = false;
                Processer.Start();
                Processer.BeginOutputReadLine();
    Processer.OutputDataReceived+=ConsoleOutput;
            }        public void ConsoleOutput(object sender,DataReceivedEventArgs e)
            {
                if (!string.IsNullOrEmpty(e.Data))
                {
                    //e.Data就是输出的内容
                }
            }