我一直在試圖追查我程序中的一個錯誤。我注意到,無論何時按住向上和向左箭頭鍵並按空格鍵,WPARAM爲VK_SPACE的WM_KEYDOWN消息都不會被我的WndProc接收或處理。WM_KEYDOWN消息未發送
我有點好奇,所以打開了Spy ++並開始查看發送到我窗口的消息。我注意到,當我按住左箭頭鍵和上箭頭鍵並按另一個鍵時,說A,WM_KEYDOWN(以及WM_CHAR)消息被髮送到我的窗口。
但是,如果我按住向上和向左箭頭鍵並按空格鍵,則空格鍵擊中的WM_KEYDOWN消息不會發送到我的窗口。
這是什麼原因?有誰能證實這種行爲?
我認爲就是這樣。感謝您的鏈接。這是一個恥辱,因爲箭頭鍵和空格鍵看起來很合適。 – user974967
@ user974967,確實,我也很驚訝。在閱讀之後,我試圖找到一個使用那種衝突的控件的遊戲,但是我很驚訝我找不到任何東西。那天我贏得了對遊戲程序員更多的尊重。我想這是WASD如此受歡迎的原因之一,人們甚至不知道它。 – chris
WSAD也很受歡迎,因爲大多數人都是右撇子,因此這是讓您的非鼠標手休息的更方便的地方。如果您有超過3個鍵一起使用,您可能需要重新評估您的用戶輸入界面,以及我不能想到任何您一次按3鍵以上的遊戲。 – AJG85