В настоящее время я пытаюсь получить вывод исполняемого консольного приложения в другое. Если быть точным, небольшой обзор того, что я пытаюсь сделать:
У меня есть один исполняемый файл, который я не могу отредактировать и не вижу его кода. При выполнении он записывает несколько (честно говоря) строк в консоль.
Теперь я хочу написать еще один исполняемый файл, который запускает приведенный выше и читает то, что он пишет.
Мне это кажется простым, поэтому я начал кодировать, но в итоге получил сообщение об ошибке, в котором говорилось, что StandardOut has not been redirected or the process hasn't started yet.
Я попробовал это с помощью такой структуры (C #):
Process MyApp = Process.Start(@"C:\some\dirs\foo.exe", "someargs");
MyApp.Start();
StreamReader _Out = MyApp.StandardOutput;
string _Line = "";
while ((_Line = _Out.ReadLine()) != null)
Console.WriteLine("Read: " + _Line);
MyApp.Close();
Я могу открыть исполняемый файл, и он тоже открывает тот, который внутри, но как только дело доходит до чтения возвращаемых значений, приложение вылетает.
Что я делаю не так?!