使用Process.Start捕获控制台输出

时间:2015-03-07 10:15:07

标签: c# multithreading

不幸的是我是C#的新手,这应该是一个愚蠢的问题,但我需要它,希望有人应该帮助..

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

我需要使用第一个代码示例,但应用第二个代码示例,如作者所描述的。他谈到在第一个代码中替换第二个代码,但我真的不明白要删除和/或替换多少代码..

如果有可能我想有一个有效的例子......

提前感谢您的帮助: - )

1 个答案:

答案 0 :(得分: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#中,方法不能包含类)。