捕捉击键没有阻塞
本文关键字: | 更新日期: 2023-09-27 18:07:07
我通常使用Console.ReadLine();
来捕获单个按键。但是这个函数会阻塞执行并一直等待它的发生。
在循环中,如果它被按下,是否有可能捕获它,如果它没有继续执行?
最好是类似于GUI应用程序的东西,保持运行,只要执行快捷方式,它就会被拦截,并抛出一个事件来捕获。但我怀疑主机应用程序能否做到这一点。
第二个最佳解决方案是等待1秒然后返回的Console.ReadLine();
。如果用户在调用函数时按住键盘按钮,则函数识别击键并返回其字符,否则函数返回null。
你读过MSDN键按信息控制台吗?
您可以使用Console.KeyAvailable
来确定您是否真的想要在队列中获取键