C++のGetAsyncKeyState関数の使い方
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 かどうかを判定し、キーが押されているかどうかを判断しています。キーが押されていれば、それに応じた情報を表示します。