GetKeyNameText 的反向操作

Reverse op for GetKeyNameText

我们可以使用GetKeyNameText() 来检索表示键名的字符串。有什么方法可以做相反的事情,即获取给定键名的扫描码或虚拟键?

我想将键名写入配置文件,以便用户可以轻松编辑它们。当我读入配置文件时,我需要执行 GetKeyNameText().

的相反操作

不是个好主意,这些名称不是固定的:

The key name is translated according to the layout of the currently installed keyboard, thus the function may give different results for different input locales.

如果你绝望了,我想你可以在循环中调用 GetKeyNameText 尝试所有可能的扫描码。

如果您也需要这样做,

MapVirtualKey 可以将扫描码转换为虚拟键。虚拟键在所有键盘和 Windows.

的所有版本中都是稳定的

我建议您对一些常见的名称进行硬编码,这些名称具有 A-Z、0-9、Ctrl、Alt、Shift、Home、Insert 等虚拟键,并将它们存储为英文文本。只存储其他奇怪键的扫描码。