Windows API-用多个键组合注册热键

Windows API - registering a hotkey with multiple keys combination

本文关键字:组合 注册 API- Windows      更新时间:2023-10-16

因此,例如,我可以轻松地注册一个热键,该热键是Shift,Alt(mod键)和向上箭头的组合:

RegisterHotKey(NULL, TOP, MOD_SHIFT | MOD_ALT, VK_UP);

这可以正常工作,但是我追求的是用与上面相同的键以及另一个普通键(如左箭头)注册热键,因此组合将是Shift,Alt,Alt,Up Arrow,左箭头。

函数中没有其他参数的空间,我尝试做一个位或左箭头键,例如

VK_UP | VK_LEFT

...但是它不起作用。如果有人以前遇到了这个问题或知道我如何继续帮助!

Windows Hotkeys不支持多个(非模型)密钥。您不能刻度或多个VK_*值,只能组合MOD_*值。

如果您急需此功能,则必须使用低级键盘钩并自己跟踪钥匙。钩子会影响全球系统性能,应尽可能避免。

如果您决定这样做,则必须记住Windows用户不习惯这种方式按Hotkeys,只有菜单允许某种类似的模式,但您不必持有 alt 修改器使这些工作。您还必须记住使用StickyKeys和其他可访问性功能来测试您的钩子...