我有一个应用程序启动,然后读取控制台进程的标准输出。在那个控制台进程中,我调用了一些写入控制台的 DLL 文件。但我不想捕获这些消息,我只想捕获它们发送的输出字符串。
我试着做:
verboseMethod(); //method writting things into the console
output = dllMethod(); //method returning what I want
Console.Clear();
Console.Out.Write(output)
我正在这样做,所以我相信我在 Console.Clear() 执行之前阅读了所有内容:
exeProcess.BeginOutputReadLine();
string errString = exeProcess.StandardError.ReadToEnd();
你能给我一个替代方案吗?就像等到最后一个输出消息给出或类似的东西?
编辑
我相信这样的事情会有所帮助(如果存在的话)..我可以告诉控制台不要重定向输出或不要在某个点写任何东西,然后允许它再次在代码的其他地方写吗?喜欢 :
Console.CloseBuffer();
Console.OpenBuffer();