特殊字符的虚拟键代码

Virtual-Key Codes for special characters

我正在尝试从常规 virtual-key codes list 中获取其他字符的虚拟键代码,例如“<”,但我找不到它,它是一个 ASCII 字符,我找不到。

“ASCII”是一种字符编码.1这与键码关系不大。例如,“A”和“a”具有不同的 ASCII 值,但它们在键盘上由相同的键表示(加上修饰键 - shift)。

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


1 而且,我可能会补充说,这在当今时代并不是一个非常相关的问题。最好忘掉 ASCII,它经常被误用。

感谢 Hans Passant

VkKeyScanEx() might help.

例如,可以通过以下方式找到等效于“<”的虚拟键代码:

VkKeyScanEx('<', GetKeyboardLayout(0))