- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们可以使用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 等虚拟键,并将它们存储为英文文本。只存储其他奇怪键的扫描码。
关于c - GetKeyNameText 的反向操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961261/
我正在尝试使用 GetKeyNameText 获取按键的名称,使用原始输入给出的生成/扫描代码和扩展键标志: std::wstring GetKeyName(const RAWKEYBOARD& in
我们可以使用GetKeyNameText()检索表示键名的字符串。有什么方法可以做相反的事情,即获取给定键名的扫描码或虚拟键? 我想将键名写入配置文件,以便用户可以轻松编辑它们。当我读入配置文件时,我
Win32 函数 GetKeyNameText将提供当前输入区域设置中键盘按键的名称。 来自 MSDN: The key name is translated according to the lay
我为 WPF 编写了一个热键控件,并希望向用户显示友好名称。为此,我正在使用 GetKeyNameText . 但是,例如使用 Key.MediaNextTrack 时作为输入,GetKeyNameT
我是一名优秀的程序员,十分优秀!