別の Borland C コンソール アプリを実行する C# コンソール アプリがありました。問題なく動作しました。しかし、最初のアプリを WinForm アプリに作り直した後、Borland C コンソール アプリから出力を取得できません。
コードはここにあります:
Process p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = name1;
p.Start();
StreamReader sr = p.StandardOutput;
progOutput = sr.ReadToEnd();
//progOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
文字列progOutput
が空です。progOutput = p.StandardOutput.ReadToEnd();
代わりにline を使用すると、同じ結果が得られます
StreamReader
Borland C コンソール アプリが実際に起動し、出力ファイルが正常に作成されました。
しかし、WinFormアプリでは出力が消えました。前述したように、このコードは C# コンソール アプリでは正常に機能しましたが、C# Windows フォーム アプリでは機能しません。
ところで、WinForm アプリで C# コンソール アプリを実行すると、出力は問題ありません。Borland C の出力に何か問題がありますか? しかし、C# コンソール アプリで Borland C アプリを実行するとうまくいきました。だから私は困惑しています。
ありがとう