The*_*ger 19 .net c# windows console console-application
我编写了一个控制台应用程序,它本质上是一个Console.ReadLine() - Loop.当应用程序等待输入时,按向上箭头键会迭代所有先前的输入行.我的应用程序不包含此功能的任何代码.Windows的哪个部分提供此功能?我该如何禁用它?
我只能想象它是控制台子系统的一个功能,或者是在Console.ReadLine()中实现的.
以下是一些展示所描述行为的示例代码:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string input;
do
{
input = System.Console.ReadLine();
} while (input != "exit");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想暂时禁用历史记录功能,稍后使用我自己的代码重新实现它.目前的行为太有限了.
Yah*_*hia 20
您可以通过调用SetConsoleHistoryInfo正确的安装CONSOLE_HISTORY_INFO结构以编程方式更改Windows的这种行为...似乎没有托管类/方法,所以你将不得不使用DllImport等.
http://msdn.microsoft.com/en-us/library/ms686031%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/ms682077%28v=VS.85 %29.aspx
如果需要 - 可以以托管方式处理控制台的其他几个方面 - 请参阅c#console,Console.Clear问题