Получение вывода из окна консоли в приложение Winform - PullRequest
1 голос
/ 11 июля 2011

У меня есть консольное приложение, которое выполняет набор операций и выдает сообщения после завершения каждой операции. Когда я запускаю консольное приложение, сообщения в окне консоли могут выглядеть следующим образом:

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

Теперь я выполняю это консольное приложение из одного из моих приложений на C # windows, используя Process.StartInfo (). Мне нужно, чтобы все сообщения, выданные моим консольным приложением, отображались в форме окна моего приложения.

Можно ли это сделать?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 11 июля 2011
1 голос
/ 11 июля 2011

Это может быть легко достигнуто с помощью свойства ProcessStartInfo.RedirectStandardOutput.Полный образец содержится в связанной документации MSDN .

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