他のアプリケーション (コンソール) を使用してこのプログラムにパラメーターを渡し、C# プログラム内でそのプログラムの出力を取得する必要があります。コンソールを表示したくありません (すべてユーザーには表示されません)。どうやってやるの?
Mister Dev
質問する
5057 次
1 に答える
16
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("YOUPROGRAM_CONSOLE.exe" );
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
string myString = myStreamReader.ReadLine();
Console.WriteLine(myString);
myProcess.Close();
出典:MSDN
編集: エラー メッセージを取得する必要がある場合は、非同期操作を使用する必要があります。非同期読み取り操作を使用して、これらの依存関係とデッドロックの可能性を回避できます。または、2 つのスレッドを作成し、別のスレッドで各ストリームの出力を読み取ることによって、デッドロック状態を回避できます。
于 2008-10-11T14:30:25.667 に答える