Как я могу взаимодействовать с командной строкой из кода C #?

2

Я пытаюсь взаимодействовать с командной строкой Windows из кода. Моя цель - отобразить приглашение, поместить в какую-то команду, отобразить вывод и повторить. Но не может показаться, что первые три работают одновременно.

      private void button2_Click(object sender, EventArgs e)
      {
        Process proc = new Process();
        proc.StartInfo.FileName = "cmd";
        proc.StartInfo.CreateNoWindow = true;
        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.RedirectStandardOutput = true;
        proc.StartInfo.RedirectStandardInput = true;

        proc.Start();
        StreamReader k = new StreamReader(proc.StandardOutput.BaseStream);

        textBox2.Text = k.ReadToEnd();            
       }

Вышеприведенный код просто зависает. Если я не установлю RedirectStandardInput, я могу отобразить все приглашение. И если я закрою запись для стандартного ввода, я могу получить команду для запуска, но не видя подсказки или не могу ее повторить. Итак, как я могу получить приглашение, чтобы показать, запустить команду и показать вывод... повторно?

Я надеюсь воспроизвести поведение командной строки Console2, но я немного перегружен его исходным кодом.

Теги:
process
command-prompt

2 ответа

1
Лучший ответ

Проверить http://www.codeproject.com/cs/library/CommandLineHelper.asp

[marc_s] этот URL-адрес приводит к тому, что 404-страница не найдена.

Правильный URL-адрес, скорее всего, следующий: http://www.codeproject.com/KB/string/CommandLineHelper.aspx

-1

Я думаю, вы не можете. Если вы покажете консольную команду Prompt, вы не сможете прочитать результат. Я думаю, вам нужно нарисовать собственную командную строку, если вы читаете результат процесса.

Ещё вопросы

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