2015-03-07 59 views
0

可惜我在C#中新,這應該是一個愚蠢的問題,但我需要它,希望有人應該幫助..使用的Process.Start捕獲控制檯輸出

基於這篇文章:http://csharptest.net/532/using-processstart-to-capture-console-output/

我需要使用第一個代碼示例,但應用作者描述的第二個代碼示例。他談論的第一個代碼在第一個代碼,但我真的不知道有多少代碼刪除和/或替代..

如果有可能我想有一個工作的例子.. .. 。

在此先感謝您的幫助:-)

回答

0

給出的描述:

你會刪除事件訂閱和調用process.BeginOutputReadLine()

他是在談論這兩條線:

process.OutputDataReceived += (o, e) => { if (e.Data == null) mreOut.Set(); else output(e.Data); }; 
process.BeginOutputReadLine(); 

請注意,你替換這個代碼應該只是:

new ReadOutput(process.StandardInput, mreOut); 

ReadOutput類將是Run方法外(因爲在C#中,方法不能包含類)。

+0

感謝MainMa,非常感謝。你認爲這是讀取控制檯輸出的最佳方式嗎?我發現很少有應用程序在進程完成之前不會刷新輸出,上述方式應該讀取「實時」任何應用程序輸出? – 2015-03-07 14:17:02