Я написал собственный узел powershell, который предоставляет интерактивную оболочку на основе winforms. Примеры MSDN были превосходными, и я смог получить что-то, работающее в течение нескольких часов.C# Powershell host, захватывающий вывод запущенных консольных приложений
Все стандартные встроенные команды, такие как dir и т. Д. Работают так, как ожидалось. Однако, когда я пытаюсь запустить другое консольное приложение, такое как FTP-клиент, это приложение начинает отправлять вывод в stdout. Я вижу это, изменяя тип приложения в VS от окон до консоли. Как только я запускаю FTP из своей интерактивной оболочки, FTP начинает разговаривать с консольным окном.
Кто-нибудь занимался этим раньше? В C++ я мог просто перенаправить stdin и stdout и сделать с ним, но я не вижу способа сделать это в C#. Помогите!
обновление
Хорошо, все, что я бегу, что не является встроенной командой немедленно начинает взаимодействовать с окном консоли.
Спасибо. Это хорошо работает для cmd.exe и других исполняемых файлов, но не для PowerShell. –
Извините, я полностью пропустил часть Powershell –