c - 如何将 vk 常量转换为文本?
问题描述
我正在尝试将 vk 常量(可能连接在一起)转换为它们的名称(例如,81 (VK_CONTROL|VK_SHIFT|VK_A) = “Control+Shift+A”。我尝试使用 GetKeyNameText 函数(使用 vk 和扫描码常量) ,但它似乎不起作用(字符串为空白,它返回 0,GetLastError 也返回 0)。
解决方案
据我所知,目前还没有直接将组合虚拟键转换为文本的 API 函数。对于非字符键(VK_CONTROL
、VK_SHIFT
等),您需要手动连接字符串。
对于字符键,MapVirtualKey
对我来说很好。
我测试了您提供的代码:
UINT t = MapVirtualKey(VK_A, MAPVK_VK_TO_CHAR);
我可以得到它的返回值:
推荐阅读
- json - 使用可编码和 CodingKeys swift 解析 JSON
- django - 在访客和登录用户中使用优惠券代码的最佳方式
- c# - MimeKit InternetAddressList.Parse 是否与 System.Net.Mail.MailAddressCollection.Add 兼容?
- rust - str 类型的生命周期/借用问题
- javascript - 无法在 JavaScript(用户脚本)中使用 if 条件
- azure - 在托管代理上运行的管道任务(例如命令行/删除文件)的范围是什么?
- html - 计算外部页面上的 UL/OL 项目
- firebase - 如何从 Flutter 上的 TextFormField 获取值
- python - 代理 Selenium Python Firefox。工作示例?
- html - 不同文件夹数量是否会影响网站加载速度?