.NET アプリケーションからのコンソール出力のキャプチャ (C#) 質問する

.NET アプリケーションからのコンソール出力のキャプチャ (C#) 質問する

.NET アプリケーションからコンソール アプリケーションを呼び出して、コンソールで生成されたすべての出力をキャプチャするにはどうすればよいですか?

(覚えておいてください、私は情報を最初にファイルに保存して、その後再リストすることは望んでいません。ライブで受け取りたいからです。)

ベストアンサー1

これは、ProcessStartInfo.RedirectStandardOutputプロパティ。完全なサンプルは、リンクされた MSDN ドキュメントに含まれています。唯一の注意点は、アプリケーションのすべての出力を表示するには、標準エラー ストリームもリダイレクトする必要がある場合があることです。

Process compiler = new Process();
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();    

Console.WriteLine(compiler.StandardOutput.ReadToEnd());

compiler.WaitForExit();

おすすめ記事