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

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

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

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

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

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

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


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

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

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы