2
我有一个应用程序启动并读取控制台进程的标准输出。在该控制台进程中,我调用了一些写入控制台的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();
你可以做的是将输出重定向到一个流,然后停止阅读从流(“捕获”),一旦你有你需要的东西。 – redtuna 2013-05-09 21:00:26