C# 使用Process.Start捕获控制台输出
不幸的是,我是C#的新手,这应该是一个愚蠢的问题,但我需要它,希望有人能帮我 根据这篇文章: 我需要使用第一个代码示例,但应用第二个,如作者所述。他曾谈到要在第一段代码中替换第二段代码,但我真的不知道要删除和/或替换多少代码 如果可能的话,我想有一个工作的例子 提前感谢您的帮助:-)给出以下描述: 您将删除事件订阅和对C# 使用Process.Start捕获控制台输出,c#,multithreading,C#,Multithreading,不幸的是,我是C#的新手,这应该是一个愚蠢的问题,但我需要它,希望有人能帮我 根据这篇文章: 我需要使用第一个代码示例,但应用第二个,如作者所述。他曾谈到要在第一段代码中替换第二段代码,但我真的不知道要删除和/或替换多少代码 如果可能的话,我想有一个工作的例子 提前感谢您的帮助:-)给出以下描述: 您将删除事件订阅和对process.BeginOutputReadLine()的调用 他说的是这两句话: process.OutputDataReceived += (o, e) => { if
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#中,方法不能包含类)。谢谢MainMa,非常感谢。您认为这是读取控制台输出的最佳方式吗?我发现很少有应用程序在进程完成之前不会刷新输出,上面描述的方式应该是“实时”任何应用程序输出?