如何获取控制台的内容?
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();