C#コードからコマンドプロンプトを操作するにはどうすればよいですか?
-
10-07-2019 - |
質問
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 のコマンドラインの動作を再現したいと思っていますが、少し圧倒されています。ソースコードです。
解決
http://www.codeproject.com/cs/library/CommandLineHelperを確認します。 asp
[marc_s] URLにより404ページが見つかりません。
正しいURLは次のとおりです: http://www.codeproject.com/ KB / string / CommandLineHelper.aspx
他のヒント
あなたはできないと思う。コンソールコマンドプロンプトを表示すると、出力を読み取ることができなくなります。プロセスの出力を読み取る場合は、独自のコマンドプロンプトを描画する必要があると思います。
所属していません StackOverflow