GetKeyboardState |
Declare Function Api_GetKeyboardState& Lib "user32" Alias "GetKeyboardState" (pbKeyState As byte) |
Declare Function GetKeyboardState Lib "user32" Alias "GetKeyboardState" (pbKeyState As Byte) As Long |
|
256 個の仮想キーの状態を、指定されたバッファへコピーする。 |
|
パラメータ
戻り値 スレッドがメッセージキューからキーボードメッセージを削除すると、仮想キーの状態が変化する。 キーボードメッセージがスレッドのメッセージキューにポストされたり、他のスレッドのメッセージキューへのキーボードメッセージのポストや削除が 発生しても、状態は変化しない。
(例外は、AttachThreadInput をとおして相互に接続されている複数のスレッドが同じキーボード状態を共有している場合である。) 最上位ビットが 1 のときはキーが押されていることを、0 のときはキーが押されていないことを示す。 最下位ビットが 1 のときはキーがトグル状態にあることを、0 のときはトグルが解除されていることを示す。 たとえば、CapsLock キーが ON になっているときは、トグル状態になる。 最下位ビットが 0 になっている場合、キーは OFF で、トグルが解除されていることを意味する。 キーボードにトグルキーのインジケータランプが用意されている場合、キーがトグル状態になっているとランプは点灯し、トグル解除状態ではラ
ンプは消灯する。 対応するキーボードメッセージがメッセージキューから取得されたかどうかにかかわりなく、個別のキーの現在の状態を取得するには、
GetAsyncKeyState 関数を使う。 コード定数を使える。この場合、左右を区別することなく、Shift、Ctrl、Alt の各キーの状態を取得できる。
また、アプリケーションはインデックスとして次の仮想キーコード定数を使うことにより、これらのキーの左右を区別できる。 |