Перенаправление вывода консоли C ++ на C # - PullRequest
0 голосов
/ 04 февраля 2012

Я пытаюсь получить вывод консоли C ++ в приложение Windows Form C #, у меня проблема в том, что вывод C ++ exe отображается в консоли C # только после завершения C ++ exe. Есть ли способ получить вывод exe на консоль C # в режиме реального времени во время запуска exe C ++ (например, без необходимости завершать exe)? Вот как я пытался,

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "C:\\path\\ABC.exe";
p.Start();
string output = p.StandardOutput.ReadToEnd();
Console.WriteLine(output);

Спасибо,

Ответы [ 2 ]

1 голос
/ 04 февраля 2012

Использование OutputDataReceived событие:

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "C:\\path\\ABC.exe";
p.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
p.Start();
p.BeginOutputReadLine();
0 голосов
/ 04 февраля 2012
...