Я пишу C # GUI Wrapper, который оборачивается вокруг исполняемого файла (который я НЕ МОГУТ изменить, потому что у меня нет исходного кода). Кажется, проблема, с которой я сталкиваюсь, связана с тем фактом, что исполняемый вывод не заканчивается символом «новой строки».
Вместо этого .exe начинает работать и ожидает ввода пользователя (s = состояние, q = выход и т. Д.).
Я потратил много времени на исследование различных способов чтения StdOut, один с асинхронным чтением и прослушиванием событий, а другой - с отдельными потоками, опрашивающими StdOut и StdErr и вызывающими события в потоке пользовательского интерфейса, который обновляет текстовое окно.
К сожалению, ни один из этих двух методов, похоже, не работает, поскольку в обоих случаях - процесс не вызывает события до последней строки вывода (той, которая не имеет «новой строки» в конце), которая отображается только тогда, когда приложение закрывается.
Кроме того, я не могу отправлять ему команды и записывать его в StandardInput. Я следовал типичному совету отключения ShellExecute, перенаправления ввода и т. Д. *
Я попытался отправить и строку, и символ, и шестнадцатеричное представление символа в виде Write () и WriteLine (), но ни один из них не работает.
Есть идеи?