首页 > 解决方案 > C ++如何将用户按键存储在变量中

问题描述

所以,我已经知道通过使用if (GetAsyncKeyState())我可以检查用户是否按下了特定的键。但我需要检查用户是否按下任何键并将用户按下的键存储在变量中。有什么简单的方法可以做到这一点吗?

标签: c++winapi

解决方案


首先,_getch可以从控制台读取单个字符而不回显该字符。但它有局限性,它不能读取所有密钥。

然后,GetKeyboardState可以得到 256 个虚拟键的状态。但它无法检测到两个调用之间的关键事件。

您可以使用RawInputLowLevelKeyboard 挂钩注册按键事件,检查此示例,您将获得虚拟键input.data.keyboard.VKey您可以创建一个线程来等待并获取键事件,而不是轮询来检查键状态。


推荐阅读