【问题标题】:How I can determine which key is pressed on keyboard? C++如何确定在键盘上按下了哪个键? C++
【发布时间】:2023-04-07 15:56:01
【问题描述】:

如何在 C++ 中使用 WINAPI 确定在键盘上按下了哪个键?

我尝试使用GetAsyncKeyState,但它仅适用于一个密钥,我需要选择哪一个,但我需要获取通过 tcp 发送的密钥代码。

【问题讨论】:

标签: c++ c winapi keyboard keycode


【解决方案1】:

遍历每个字符并尝试每个字符:

for (char i = 32; i < 127; i++)
    if (GetAsyncKeyState (i))
         /* Do whatever you want with that character */;

在示例中,我只是从 ' ' 循环到 '~',根据需要进行修改。

【讨论】:

  • 它是GetAsyncKeyState,大写为G。但是无论如何您都不需要循环调用它,因为有 GetKeyboardState 会返回整个键盘的键状态。
  • @IInspectable 是,但GetKeyboardState 匹配GetKeyState,这与GetAsyncKeyState 的语义不同。至于提问者需要哪些语义,我认为我们不能确定。
猜你喜欢
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多