程式語言 - Visual C++ 6.0 - GetKeyState、GetKeyboardState、GetAsyncKeyState



列表

GetKeyState取得目前存在系統消息陣列裡面的鍵盤訊息
GetKeyboardState當系統消息陣列裡面的鍵盤訊息被移除時才返回該鍵盤訊息
GetAsyncKeyState透過驅動程式直接取得鍵盤訊息

用法

// GetKeyState用法(最高位元=1: KeyDown, 最高位元=0: KeyUp)
if (GetKeyState(VK_ESCAPE)) {
    // keydown
}
else {
    // keyup
}

// GetKeyboardState用法(TRUE=KeyDown, FALSE=KeyUp)
if (GetKeyboardState(VK_ESCAPE) == TRUE) {
    // keydown
}
else {
    // keyup
}

// GetAsyncKeyState用法(最高位元=1: KeyDown, 最高位元=0: KeyUp), 其它位元為上次取得的鍵盤訊息
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000) {
    // keydown
}
else {
    // keyup
}