是否可以以编程方式清除控制台历史记录?

adr*_*nks 9 c# console console-application

使用控制台应用程序时,Console.ReadLine()会存储在a 处输入的所有内容的历史记录.在控制台提示输入内容时,按向上/向下光标将滚动浏览此历史记录(按F7可查看整个历史记录).

使用C#,是否有办法禁用此行为或清除已输入的内容的历史记录?


澄清Console.Clear()一下,不清楚历史,只有屏幕缓冲区.我想清除命令历史记录.


编辑:尝试了几种建议的方法,以及我自己设计的一些方法,最好的方法是ho1建议的方法.它并不理想,因为它会带来另一个控制台窗口,但它确实清除了历史记录.

Han*_*son 1

编辑:删除了不正确的答案(我对你想要做什么感到困惑)并添加了另一个(希望)更好的答案。

可以通过使用FreeConsole释放当前控制台,然后使用AllocConsole分配新控制台来实现此目的。我认为它不会保留命令行历史记录。

一般来说,如果您想使用 .Net Framework 不支持的控制台执行操作,此 MSDN 页面是一个不错的查看位置:Console Functions