我很困惑WM_KEY*
消息序列,當我按下和釋放Alt鍵鍵(這是知道的虛擬鍵碼爲VK_MENU
)。 當按下右Alt鍵關鍵我得到的消息:奇怪的Windows消息序列同時按下VK_MENU(Alt鍵)
WM_KEYDOWN with wParam == 0x11 (VK_CONTROL)
WM_KEYDOWN with wParam == 0x12 (VK_MENU)
兩個消息一個接一個,當我釋放該鍵(右Alt鍵)我得到:
WM_KEYUP with wParam == 0x11 (VK_CONTROL)
WM_KEYUP with wParam == 0x12 (VK_MENU)
我寧可期待:
WM_KEYDOWN with wParam == 0x12 (VK_MENU)
WM_KEYUP with wParam == 0x12 (VK_MENU)
爲什麼有VK_CONTROL
參與消息序列是否完全沒有被觸摸?有沒有解釋?
編輯:有人將此標記爲Why do I get two messages on Alt being pressed?的副本。是的,我同意這是一個重複,但不知何故,當我試圖尋找答案給予關鍵字如VK_CONTROL
,VK_MENU
,WM_KEYDOWN
,Alt
等,我找不到任何有用的東西。也不是每個鍵盤上的權利Alt被標記爲AltGr取決於位置(只有OS鍵盤設置很重要),所以它也是一個關鍵字,你可能有問題想弄清楚尋找。所以我認爲以其他方式解釋是很好的。
你是波蘭人,波蘭的標準鍵盤佈局有一個AltGr鍵。位於其他鍵盤具有右Alt鍵的位置。 [閱讀本文](https://en.wikipedia.org/wiki/AltGr_key#Control_.2B_Alt_as_a_substitute)。 –
@HansPassant值得回答。 –
有人波蘭人應該寫這個答案。我沒有這樣的鍵盤,所以只能猜測這是潛在的問題。 OP是一個很好的候選人。 –