コードから 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のコマンド ラインの動作を再現したいと考えていますが、そのソース コードに少し圧倒されています。