我喜欢使用控制台应用程序,想知道如何保存控制台窗口的当前缓存以供日后使用,并提供一种历史导航功能。我知道Diagnostics命名空间提供了读取标准输出的能力,但那只是在重定向输出时使用的,因此基本上您将不得不在一个新窗口中运行所有结果,这似乎有点愚蠢。
你需要读取控制台屏幕缓冲区。我几年前写了一系列关于从.NET访问控制台API的文章。你感兴趣的文章是《使用控制台屏幕缓冲区》。完整的源代码可在http://mischel.com/pubs/consoledotnet/consoledotnet.zip中找到。