そこで、プロジェクトのソリューションにEXEを追加しました。EXEはいくつかの処理を実行し、stdoutを介してデータを出力します。出力をキャプチャしたいのですが、もっと重要なのは、プログラム内でそのEXEを実行するにはどうすればよいですか?
7515 次
2 に答える
7
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "myExec.exe";
p.Start();
于 2008-11-25T23:55:13.213 に答える
3
Process.Start
. stdout をキャプチャするには、経由でリダイレクトする必要があります- MSDNProcessStartInfo
に例があります。また、exe が出力ディレクトリ (bin/release など) にコピーされるようにマークされていることも確認してください。
stdout と stderr の両方から読み取る必要がある場合は、注意が必要です (素朴な実装では、バッファリングなどによるデッドロックのリスクがあります) 。ワーカー スレッドを使用した例を次に示します。
于 2008-11-25T23:54:16.053 に答える