2

コードから Windows コマンド プロンプトを操作しようとしています。私の目標は、プロンプトを表示し、コマンドを入力し、出力を表示して、繰り返すことです。しかし、最初の 3 つを同時に機能させることはできないようです。

      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 を設定しない場合は、プロンプト全体を表示できます。また、StandardInput のライターを閉じると、コマンドを実行できますが、プロンプトが表示されず、繰り返すこともできません。では、プロンプトを表示し、コマンドを実行し、出力を表示するにはどうすればよいですか?

Console2のコマンド ラインの動作を再現したいと考えていますが、そのソース コードに少し圧倒されています。

4

2 に答える 2

1

http://www.codeproject.com/cs/library/CommandLineHelper.asp を確認してください

[marc_s] その URL で 404 ページが見つかりません。

おそらく正しい URL は次のとおりです: http://www.codeproject.com/KB/string/CommandLineHelper.aspx

于 2009-10-29T05:41:39.473 に答える
-1

できないと思います。コンソール コマンドの Prompt を表示すると、出力を読み取ることができなくなります。プロセスの出力を読む場合は、独自のコマンド プロンプトを描画する必要があると思います。

于 2009-10-29T05:46:04.977 に答える