2011-08-17 67 views
2

为什么我会在按下AltGr时收到两条消息?为什么我在按AltGr时收到两条消息?

我有以下钩:

LRESULT CALLBACK MyClass::KeyboardShotcutsHook(int code, WPARAM wParam, LPARAM lParam) 

当抛光语言我按AltGR + Key(右Alt)它产生2个消息:

  1. Ctrl + Key
  2. Alt + Ctrl + Key

为什么?以及如何避免Ctrl + Key

回答

1

因为AltGr和Alt + Ctrl是等效的(在Windows中)。两个关键的中风序列意味着同样的事情,并且Alt + Ctrl获胜(可能是因为美国键盘布局上没有AltGr--这是我的猜测)。

如果你想检查AltGr,检查是否按下Ctrl时,只要Alt出现在你的钩子。

+0

GetKeyState为第一个“ctrl调用”返回VK_MENU VK_LMENU VK_RMENU。嗯,它只与波兰语 – Kain

+0

@Kain的问题:这里有一些代码,讨论的主题:http://gogglesmm.googlecode.com/svn/branches/fox-1.7/lib/fxkeyboard.cpp –

+0

你能提供一些权威的来源? – truthseeker

相关问题