私はwin7 64ビットを使用しています。GetKeyboardState() を使用してキーボードの状態を取得します。
BYTE keyState[256];
GetKeyboardState(keyState);
BOOL leftButtonClicked = GetKeyState(VK_LBUTTON);
メイン wnd 内をクリックするとすべて問題ありませんが、メイン wnd の外側をクリックしても leftButtonClicked は true のままです。
msdnは言った、
アプリケーションは、この関数を呼び出して、すべての仮想キーの現在のステータスを取得できます。スレッドがメッセージ キューからキーボード メッセージを削除すると、ステータスが変化します。キーボード メッセージがスレッドのメッセージ キューにポストされても、ステータスは変化しません。また、キーボード メッセージが他のスレッドのメッセージ キューにポストされたり、メッセージ キューから取得されたりしても、ステータスは変化しません。
しかし、main wnd は WM_LBUTTONDOWN を受け取らないのに、なぜこの関数は間違った結果になるのでしょうか? または私は何かを誤解しましたか?
ありがとう。