Проблема перенаправления консоли в C # - PullRequest
0 голосов
/ 12 августа 2011

Я создаю графический интерфейс для консольного приложения, которое я использую, я пытаюсь использовать C # Process и RedirectStandardInput / Error / Output.

Проблема в том, что когда я перенаправляю все, что консольные приложения перестают печатать, я перенаправляю только stdin и смотрю само окно консольного приложения, ничего, я перенаправляю stdin, out и err, и моя программа не получает никаких данных .

Это единственное приложение, которое я тестировал, которое не работает с перенаправлением Std, это проблема реализации?

Код:

fmproc = new Process();

fmproc.StartInfo.FileName = @"fm.exe";
fmproc.StartInfo.Arguments = "";
fmproc.StartInfo.UseShellExecute = false;
fmproc.StartInfo.CreateNoWindow = false;

fmproc.StartInfo.RedirectStandardInput = true;
fmproc.StartInfo.RedirectStandardError = true;
fmproc.StartInfo.RedirectStandardOutput = true;

fmproc.Start();

fmproc.StandardOutput.ReadLine();

1 Ответ

0 голосов
/ 13 августа 2011

Возможно, вы могли бы попробовать:

fmproc.StandardOutput.ReadToEnd();
fmproc.WaitForExit();

Вместо ReadLine (); Конечно, вы можете захотеть сделать что-то более интересное с выходной строкой - но я просто следую вашему примеру кода.

...