为什么我在按下“AltGr"时收到两条消息?
为什么我在按下 AltGr 时会收到两条消息?
Why do I get two messages on AltGr being pressed?
我有以下钩子:
LRESULT CALLBACK MyClass::KeyboardShotcutsHook(int code, WPARAM wParam, LPARAM lParam)
当我使用波兰语时,我按 AltGR+Key
(right Alt) 会产生 2 条消息:
When in polish language I press AltGR+Key
(right Alt) it produces 2 messages:
- Ctrl+
键
- Alt+Ctrl+
键
为什么?以及如何避免Ctrl+Key
?
Why? and how to avoid Ctrl+Key
?
推荐答案
因为 AltGr 和 Alt+Ctrl 是等价的(在 Windows 中).两个击键序列的含义相同,而 Alt+Ctrl 获胜(可能是因为美式键盘布局上没有 AltGr - 这是我的猜测).
Because AltGr and Alt+Ctrl are equivalent (in Windows). Two key stroke sequences mean the same thing, and Alt+Ctrl won (probably because there is no AltGr on the US keyboard layout - that's my guess).
如果要检查 AltGr,请检查是否在 Alt 出现在钩子中时按下了 Ctrl.
If you want to check for AltGr, check if Ctrl is pressed whenever Alt shows up in your hook.
相关文章