从Console窗口输出到Winform应用程序

时间:2011-07-11 12:28:48

标签: c# winforms console-application

我有一个控制台应用程序,它执行一组操作并在完成每个操作后发出消息。当我运行我的控制台应用程序时,控制台窗口中的消息可能如下所示:

Checking prerequisites...
Completing prerequisites..
Performing installation...
Completing installation...
Done..!

现在,我正在使用Process.StartInfo()从我的一个C#windows应用程序执行此控制台应用程序。 我需要将我的控制台应用程序抛出的所有消息都显示在我的应用程序的窗体中。

可以这样做吗?

感谢。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

使用ProcessStartInfo.RedirectStandardOutput属性可以很容易地实现这一点。完整样本包含在链接的MSDN documentation中。

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();