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
所需的信息