我执行C#程序即可以从另一C#程序中的.exe文件。 但该.exe有一些Console.WriteLine()在其节目。 我想标准输出到我的C#程序。
例如,
考虑一个C#可执行即的1.exe还有另一个计划2.cs.
我从2.cs的1.exe调用。 现在有一些输出控制台从1 EXE显示。 但我想在我的程序2.cs.的输出中 用于向用户显示信息。
可能吗? 请帮忙
感谢西娜斯迪胡
我执行C#程序即可以从另一C#程序中的.exe文件。 但该.exe有一些Console.WriteLine()在其节目。 我想标准输出到我的C#程序。
例如,
考虑一个C#可执行即的1.exe还有另一个计划2.cs.
我从2.cs的1.exe调用。 现在有一些输出控制台从1 EXE显示。 但我想在我的程序2.cs.的输出中 用于向用户显示信息。
可能吗? 请帮忙
感谢西娜斯迪胡
您可以使用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以获取更多信息。
当一个进程写入文本到其标准流,则该文本被正常地显示在控制台上。 通过重定向StandardOutput流,你可以操纵或抑制过程的输出。 例如,您可以在不同的过滤文本,格式,或输出写入控制台和指定的日志文件两者。