日期:2014-05-20  浏览次数:21216 次

如何获取控制台的内容?
Hi:
我想获取 控制台(控制台程序) 输出的所有内容,c# 如何获得? 提前谢谢了!

比如:
C# code

            Console.WriteLine("控制台内容1 >>>");
            Console.WriteLine("控制台内容2 >>>");



运行完控制台应该输出:
控制台内容1
控制台内容1

我想获得上边内容,有啥方法不? 谢谢了。。。

------解决方案--------------------
还有一种方式:
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();
------解决方案--------------------
C# code
        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就是输出的内容
            }
        }

------解决方案--------------------
Console.Readline();