У меня есть программа оболочки, которая отправляет вывод на стандартный вывод и стандартную ошибку.Я пытаюсь написать программу на VB.net, которая проверяет вывод в режиме реального времени и представляет обобщенную информацию в графическом интерфейсе.Я также хочу, чтобы программа оболочки продолжала отображать свой вывод в командной строке, как обычно.Я не хочу просто пихать вывод в текстовое поле, потому что тогда, кажется, он теряет свое цветовое форматирование.
Я написал код для проверки вывода, и он работает, но у него есть побочный эффект:устранение вывода в окне оболочки.Вот код, который я использую, чтобы начать перенаправление вывода:
Dim info As New ProcessStartInfo()
info.FileName = "foo.bat"
info.UseShellExecute = False
info.RedirectStandardError = True
info.RedirectStandardOutput = True
revProcess = Process.Start(info)
revProcess.BeginOutputReadLine()
revProcess.BeginErrorReadLine()
А затем у меня есть обработчики для revProcess.OutputDataReceived и т. Д., Чтобы выполнить мой анализ.
Редактировать: похоже, был другойвопрос для этого, но ответы никуда не делись: Захват и отображение вывода на консоль одновременно извините за репост.