我有C#控制檯應用程序,它運行另一個Borland C控制檯應用程序。它工作正常。 但是,當我將第一個應用程序重新制作爲WinForm應用程序後,我無法從Borland C控制檯應用程序獲取輸出。我將控制檯應用程序重新制作成WinForm應用程序。我現在無法從另一個控制檯應用程序獲得輸出
代碼是在這裏:
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();
而不是StreamReader
用Borland C控制檯應用程序真正開始,並創造了它正常的輸出文件。
但它的輸出消失在WinForm應用程序中。 正如我所說的這段代碼在C#控制檯應用程序中工作正常, 但現在不適用於C#Windows窗體應用程序。
順便說一句,如果我在WinForm應用程序中運行C#控制檯應用程序,輸出沒問題。 與Borland C輸出有什麼不同? 但是,當我在C#控制檯應用程序中運行Borland C應用程序時,它工作正常。 所以我很困惑。
感謝
StandardError有什麼? – banging
StandardError也爲空 – user993354