2011-08-17 73 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

相關問題