Я использую класс Process для запуска exe.Является ли мой процесс ожидающим ввода?
Exe - приложение сторонней консоли, которое я не контролирую.
Я хочу знать, ожидает ли процесс ввода данных в командной строке.
Если это имеет значение, я намерен убить приложение, если оно ждет ввода.
Есть подходящие события, когда есть выход из программы, ожидающей считывания, но я не вижу ничего подобного, когда процесс терпеливо ждет ввода.
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "myapp.exe";
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
process.StartInfo = info;
process.OutputDataReceived += new DataReceivedEventHandler(process_OutputDataReceived);
process.ErrorDataReceived += new DataReceivedEventHandler(process_ErrorDataReceived);
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();
Как определить, что мой процесс ожидает ввода?
Ваша проблема поднимает мой интерес. Я сделал некоторые причуды для обнаружения модальных циклов в приложениях GUI (см. Мои вопросы), но для консольных приложений до сих пор я не нашел подходящего решения ... – jdehaan