.NET 4.x Перенаправление вывода консольного приложения в WinForm - C#
Формулировка задачи:
Добрый день!
Имеется программа AVRDude. Консольный вариант. Делаю перенаправление вывода с этого консольного приложения в WinForm. Все проде бы получилось, но есть одно но. В AVRDUDE_PROG(GUI) для AVRDude сделано так, что в GUI, как я понимаю, поток данных передается на лету. А не потом отображается все что было выполнено. Получается, что в AVRDUDE_PROG весь процесс работы можно видеть в реальном времени. Если же делать так:
то никакого выполнения в реальном времени нет. Данные приходят в winform уже после работы консольного AVRDude.
Как организовать перенаправления данных в форму сразу же после их появления в консоли? Надеюсь, что понятно объяснил. Чего то аж сам запутался.
Листинг программы
- 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();
Решение задачи: «.NET 4.x Перенаправление вывода консольного приложения в WinForm»
textual
Листинг программы
- _timer.Interval = 800;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д