問題タブ [ws-ex-layered]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - WM_MOUSEMOVE / wParam にはキーの状態が含まれず、マウス ボタンが押されたときのみ
WS_EX_LAYERED ウィンドウを使用しており、マウスが透明でない領域を移動すると WM_MOUSEMOVE メッセージを受け取ります。ここまでは順調ですね。
Shift キーまたは Ctrl キーを押したままマウスを移動すると、WM_MOUSEMOVE/wParam はキーの状態を示しません。
マウスを動かしながら Shift または Ctrl と任意のマウス ボタンを押したままにすると、WM_MOUSEMOVE/wParam はキーの状態を示します。
ウィンドウをクリックして (フォーカスを設定すると仮定)、SHIFT または CTRL を押したままにすると、WM_MOUSEMOVE / wParam はキーの状態を示しません。
ここで何が起こっているか分かりますか?ウィンドウのアクティブなフォーカス状態と関係があるのではないかと疑っています。