GetAsyncKeyState函数用于获取指定虚拟键的状态。它的声明如下:
```cpp
SHORT WINAPI GetAsyncKeyState(
int vKey
);
```
该函数的参数vKey是一个整数,表示要获取状态的虚拟键码。
函数返回一个SHORT类型的值,表示虚拟键的状态。如果返回值的最高位(最高位为1的情况下返回值为负数)为1,则表示键当前是按下的状态;如果最高位为0,则表示键当前是释放的状态。
以下是一个使用GetAsyncKeyState函数的例子:
```cpp
#include
#include
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,以确定按键是否按下。如果按键按下,就输出相应的信息。