从另一个C#程序捕获c#可执行输出

我正在执行一个C#程序,即来自另一个C#程序的.exe。 但.exe在其程序中有一些Console.WriteLine()。 我想把标准输出到我的C#程序中。

例如,

考虑一个C#可执行文件,即1.exe,还有另一个程序2.cs.

我是从2.cs 1.exe打来的。 现在有一些控制台从1. exe显示的输出。 但是我希望我的程序中的输出2.cs. 用于向用户显示信息。

可能吗? 请帮忙

谢谢Sai sindhu

您可以使用ProcessStartInfo.RedirectStandardOutput属性

Process compiler = new Process(); compiler.StartInfo.FileName = "csc.exe"; compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs"; compiler.StartInfo.UseShellExecute = false; compiler.StartInfo.RedirectStandardOutput = true; compiler.Start(); Console.WriteLine(compiler.StandardOutput.ReadToEnd()); compiler.WaitForExit(); 

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx

您必须重定向标准输出流,有关详细信息,请查看MSDN 。

当Process将文本写入其标准流时,该文本通常显示在控制台上。 通过重定向StandardOutput流,您可以操纵或抑制进程的输出。 例如,您可以过滤文本,以不同方式对其进行格式化,或将输出写入控制台和指定的日志文件。