我正在编写一个控制台应用程序witch在控制台屏幕上显示某些数据,而不是从键盘检查用户输入并最终按需处理它。所有单线程。在C#控制台应用程序中使用Keyboard.IsKeyDown
为此,我尝试从System.Windows.Input命名空间使用Keyboard.IsKeyDown方法。和视觉工作室wo'nt允许它。 有谁知道为什么,可以帮助我吗? 我没有看到其他方式实现该逻辑使用只有一个线程和没有计时器。
我正在编写一个控制台应用程序witch在控制台屏幕上显示某些数据,而不是从键盘检查用户输入并最终按需处理它。所有单线程。在C#控制台应用程序中使用Keyboard.IsKeyDown
为此,我尝试从System.Windows.Input命名空间使用Keyboard.IsKeyDown方法。和视觉工作室wo'nt允许它。 有谁知道为什么,可以帮助我吗? 我没有看到其他方式实现该逻辑使用只有一个线程和没有计时器。
使用Console.ReadKey()
在控制台应用程序中读取来自键盘的输入。
请注意,这是一个阻塞呼叫。如果您不想阻止,请联系Console.KeyAvailable
。例如,如果每10秒钟按一次按键,该程序将循环显示:
static void Main(string[] args)
{
do
{
if (Console.KeyAvailable)
{
var key = Console.ReadKey();
Console.WriteLine(key.Key);
}
else
{
Console.WriteLine("No key pressed");
}
System.Threading.Thread.Sleep(100);
} while (true);
}
在控制台应用程序中轮询键盘需要Console.KeyAvailable。 –