阅读量:0
GetAsyncKeyState函数用于获取指定虚拟键的状态。它的声明如下:
SHORT WINAPI GetAsyncKeyState( int vKey );
该函数的参数vKey是一个整数,表示要获取状态的虚拟键码。
函数返回一个SHORT类型的值,表示虚拟键的状态。如果返回值的最高位(最高位为1的情况下返回值为负数)为1,则表示键当前是按下的状态;如果最高位为0,则表示键当前是释放的状态。
以下是一个使用GetAsyncKeyState函数的例子:
#include <windows.h> #include <iostream> int main() { while (true) { // 检查键盘上的A键是否按下 if (GetAsyncKeyState('A') & 0x8000) { std::cout << "A键被按下" << std::endl; } // 检查鼠标左键是否按下 if (GetAsyncKeyState(VK_LBUTTON) & 0x8000) { std::cout << "鼠标左键被按下" << std::endl; } } return 0; }
该例子中,使用了一个无限循环来不断检查键盘和鼠标的状态。通过GetAsyncKeyState函数获取按键状态,然后使用位运算符&判断最高位是否为1,以确定按键是否按下。如果按键按下,就输出相应的信息。