【发布时间】:2012-11-21 09:51:45
【问题描述】:
我有一个简单的命令行应用程序,我想存储在程序启动之间输入的命令。
单独存储没问题,我知道怎么做,但是我怎么恢复呢?
Console 类没有任何设置历史的方法,如果我在应用程序开始时按向上箭头,它是空的。
来自msdn 的非托管代码方法对我没有帮助,好的答案可以告诉我如何在 c# 中使用它们来获得我需要的东西。
我的想法是只用ReadKey 覆盖向上箭头,并以“硬”的方式进行操作,但如果有更简单的方法,我会很高兴。
【问题讨论】:
-
内置功能还不够吗? stackoverflow.com/questions/6973260/…
-
不,如您所见,我想在程序运行之间存储它,内置功能很好,但是当我关闭应用程序并再次打开它时,我没有历史记录。在 linux 中查看 bash,即使您将其关闭并再次打开,它也有命令,而不是 Windows 控制台。
-
历史记录是命令处理器 cmd.exe 的一项功能。相当于 bash。它不会丢失历史记录,因为您不会在程序运行之间关闭它。如果您希望在您自己的程序中使用它,您必须自己构建。使用 Console.ReadKey() 肯定不是不可能的
-
是的,我只是想利用我在命令行应用程序启动时拥有的那个功能,所以我想恢复保存的会话以在控制台窗口启动之间使用它,这就是我想要的知道该怎么做。