Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mfc 将CHotKeyCtrl中的热键从虚拟代码转换为字符串并向后转换_Mfc_Hotkeys - Fatal编程技术网

Mfc 将CHotKeyCtrl中的热键从虚拟代码转换为字符串并向后转换

Mfc 将CHotKeyCtrl中的热键从虚拟代码转换为字符串并向后转换,mfc,hotkeys,Mfc,Hotkeys,我有CHotKeyCtrl,我可以从中获得虚拟键代码和修改器。我还可以调用CHotKeyCtrl::GetHotKeyName来获取该热键的字符串视图-我可以向用户显示该字符串并将其存储在我的XML配置文件中。但是如何将这个字符串向后转换为虚拟键代码和修饰符呢?我不想将虚拟密钥码和MIDIFIER保存在XML中,只保存在WORD格式中(信息量不大)。据我所知,没有现成的支持将热键名转换为虚拟密钥码+修饰符对,主要是因为返回本地化名称。该名称来自键盘驱动程序,在不同的Windows安装中会有所不同

我有
CHotKeyCtrl
,我可以从中获得虚拟键代码和修改器。我还可以调用
CHotKeyCtrl::GetHotKeyName
来获取该热键的字符串视图-我可以向用户显示该字符串并将其存储在我的XML配置文件中。但是如何将这个字符串向后转换为虚拟键代码和修饰符呢?我不想将虚拟密钥码和MIDIFIER保存在XML中,只保存在
WORD
格式中(信息量不大)。

据我所知,没有现成的支持将热键名转换为虚拟密钥码+修饰符对,主要是因为返回本地化名称。该名称来自键盘驱动程序,在不同的Windows安装中会有所不同

由于需要一个虚拟键代码及其修饰符(打包到
WPARAM
),因此可以构建该值并将其存储在XML设置中,以避免使用两个元素/属性。您还可以包含热键名称以便于阅读,但仅存储该名称不会为您提供以后发送
WM_SETHOTKEY
所需的信息