这似乎很简单,但是由于某些原因,当您使用shift修饰符时,Console.ReadKey()
在控制台中无法与箭头一起使用。看起来Microsoft决定重写它来进行选择。
我想知道是否可以更改ReadKey()
的默认行为?我已经阅读了文档,但是除了拦截布尔值之外,它似乎不存在。没有任何提及。
此外,我已经看过一些{32} GetKeyState
这样的Win32函数,但这意味着我无法将ReadKey()
与它混合使用,因为我需要进行一些轮询vs线程操作封锁。
那么,我应该只制作一个旧的Win32 Loop并手动处理所有消息吗?还是有一个更简单的解决方案?
谢谢。
答案 0 :(得分:0)
搜索了多个小时后,我偶然发现了这个github项目:
https://github.com/michaelnoonan/inputsimulator
安装并开始摆弄它之后,我发现输入终于可以正常工作了[shift + left]。但是选择仍然出现。我开始在控制台中搜索禁用选择。我在API中找不到任何内容。但是我记得我的控制台窗口默认带有“ Quick Edit”标志。
因此,在查看了其他标志之后,我在“文本选择”组中发现了2个有趣的标志。通过取消选中这两个标志,可以删除窗口键替代,并且ReadKey
可以正常工作。