Приложение для включения исполняемого файла, который запрашивает пользовательский ввод в командной строке. Хотите автоматизировать, чтобы не открывалось приглашение cmd

0

У меня есть приложение WPF, в котором я хочу интегрировать модуль. другой модуль - это исполняемый файл, который при нажатии запрашивает ответ пользователя. На основании ответа пользователя он будет обрабатывать или выходить:

например:

C:\>Abc.exe press enter
> command1 
//Executing command1  -- command1 will create a log file
>exit
//Exits the Abc.exe process
C:\>

Поэтому я хочу интегрировать эту часть в мое приложение WPf. Когда кнопка находится в приложении WPF, вышеуказанные шаги выполняются автоматически.

я не знаю, как выполнить приглашение оболочки, требующее ввода пользователя.

Process process1 = new Process();
            process1.StartInfo.FileName = "C:\\abc.exe";
            process1.StartInfo.RedirectStandardInput = true;
            process1.StartInfo.RedirectStandardError = true;
            process1.StartInfo.UseShellExecute = false;
            process1.StartInfo.CreateNoWindow = false;
            process1.Start();
            StreamWriter inputWriter = process1.StandardInput;
            process1.StandardInput.WriteLine("command1");
            process1.StandardInput.Flush();
            System.Threading.Thread.Sleep(1500);
            process1.StandardInput.WriteLine("exit");
            process1.StandardInput.Flush();

            process1.Kill();

Но он открывает abc.exe в консоли, но не выполняет команды ie command1 и exit.

  • 0
    Из каких тем я могу спросить здесь? страница справочного центра StackOverflow: вопросы о коде должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не сработали, и ожидаемые результаты.
  • 0
    Вы используете класс Process с перенаправлением stdin и stdout.
Показать ещё 3 комментария
Теги:
wpf
c#-4.0

1 ответ

0

Я не знаю, как это сделать в WPF, но в Win32 вы должны использовать CreateProcess() с перенаправленным вводом/выводом, чтобы вы могли отправлять свои собственные входные данные и читать любые выходные данные по мере необходимости.

Как создавать консольные процессы с перенаправленными стандартными дескрипторами

Создание дочернего процесса с перенаправленными вводами и выводами

  • 0
    Нет необходимости использовать Win32 здесь. Это все завернуто процессом

Ещё вопросы

Сообщество Overcoder
Наверх
Меню