ホームページ > バックエンド開発 > C++ > .NETでコンソールアプリケーション出力を効率的にキャプチャする方法は?

.NETでコンソールアプリケーション出力を効率的にキャプチャする方法は?

Barbara Streisand
リリース: 2025-01-25 03:31:36
オリジナル
289 人が閲覧しました

How to Efficiently Capture Console Application Output in .NET?

コンソールアプリケーションプロセスを開始し、.NETでその出力をキャプチャできます このメソッドは、イベント処理プログラムを使用して、受信した出力を文字列に追加します。出力の非同期読み取りを開始するためにに電話します。デフォルトでは、子プロセスが終了するまではブロックされ、出力を完全にキャプチャできます。

出力を読み取る別の方法は次のとおりです
<code class="language-csharp">string retMessage = string.Empty;
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();

startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;

startInfo.UseShellExecute = false;
startInfo.Arguments = command;
startInfo.FileName = exec;

p.StartInfo = startInfo;
p.Start();

p.OutputDataReceived += (sender, args) => retMessage += args.Data;

// 开始异步输出读取。
p.BeginOutputReadLine();

p.WaitForExit();

return retMessage;</code>
ログイン後にコピー

この単純な方法は多くの場合、すべての出力を一度に読み取ることに注意する必要があります。イベント処理手順を使用すると、非同期出力キャプチャを提供できます。 OutputDataReceived

以上が.NETでコンソールアプリケーション出力を効率的にキャプチャする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート