是否有辦法通過GetKeyState()來檢測按鍵是否被釋放?我讀了一下,它只有2種狀態,切換0x8000和按下0x01。
我想要這樣的東西:
short Input(int Key, int Mode)
{
if (Mode == KEY_RELEASE)
if (GetKeyState(Key) & KEY_PRESS)
//Wait for the key to be released。
else[/span
return GetKeyState(Key) & KEY_PRESS;
}
uj5u.com熱心網友回復:
GetKeyState回傳關于當前輸入佇列(你的執行緒和附屬執行緒)的鍵狀態的資訊。你可以用GetKeyboardState來獲得所有按鍵的類似資訊。
這兩個函式應該只用于回應某些事件,你不應該一次又一次地輪詢來檢測變化。
在您控制的視窗中檢測鍵盤變化的最佳方式是處理 WM_KEYDOWN/UP 和 WM_CHAR 訊息。
最糟糕的情況是,使用SetWindowsHookEx來捕獲鍵盤事件或視窗訊息。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/331307.html
標籤:
