.NET 4.x Перенаправление вывода консольного приложения в WinForm - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Имеется программа AVRDude. Консольный вариант. Делаю перенаправление вывода с этого консольного приложения в WinForm. Все проде бы получилось, но есть одно но. В AVRDUDE_PROG(GUI) для AVRDude сделано так, что в GUI, как я понимаю, поток данных передается на лету. А не потом отображается все что было выполнено. Получается, что в AVRDUDE_PROG весь процесс работы можно видеть в реальном времени. Если же делать так:
            textBox5.Text = "";
            Process AvrDude = new Process();
            AvrDude.StartInfo = new ProcessStartInfo();
            AvrDude.StartInfo.WorkingDirectory = ExePath + "/avrdude63";
            AvrDude.StartInfo.FileName = "cmd.exe";
            AvrDude.StartInfo.Arguments = @"/c avrdude.exe -p t24 -c usbasp -P usb -U flash:w:flash.hex:a";
            AvrDude.StartInfo.CreateNoWindow = true;
            AvrDude.StartInfo.ErrorDialog = true;
            AvrDude.StartInfo.RedirectStandardError = true;
            AvrDude.StartInfo.UseShellExecute = false;
            AvrDude.Start();
            Encoding cp866 = Encoding.GetEncoding("cp866");
            AvrDude.StartInfo.StandardErrorEncoding = cp866;
            textBox5.AppendText(AvrDude.StandardError.ReadToEnd());
            AvrDude.Close();
то никакого выполнения в реальном времени нет. Данные приходят в winform уже после работы консольного AVRDude. Как организовать перенаправления данных в форму сразу же после их появления в консоли? Надеюсь, что понятно объяснил. Чего то аж сам запутался.

Решение задачи: «.NET 4.x Перенаправление вывода консольного приложения в WinForm»

textual
Листинг программы
_timer.Interval = 800;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы