特殊字符的虚拟键代码

时间:2017-12-18 13:43:05

标签: c++ windows winapi keyboard-events

我正在尝试从常规virtual-key codes list中获取其他角色的虚拟密钥代码,例如'<&#;;但我无法找到它,它是一个ASCII我无法找到它。

2 个答案:

答案 0 :(得分:2)

“ASCII”是字符编码 1 这与密钥代码几乎没有关系。例如,“A”和“a”具有不同的ASCII值,但它们由键盘上的相同键表示(加上修饰键 - shift )。

这就是为什么你在列表中找不到< 的原因 - 它不是这些键码代表的(虚拟)键盘上的键。它取决于当前活动的键盘映射如何通过键码表示该字符。

1 而且,我可以补充说,在这个时代,这不是一个非常相关的问题。最好忘记ASCII,它主要被误用了。

答案 1 :(得分:1)

感谢Hans Passant

  

VkKeyScanEx()可能有帮助。

例如,虚拟密钥代码相当于'<'可以找到:

VkKeyScanEx('<', GetKeyboardLayout(0))