C++でwinapiを使用してマウスの状態(位置、ボタンの状態)を取得する方法はありますか? Windows メッセージ (WM_MOUSEMOVE、WM_LBUTTONDOWN など) を使用したくありません。
ありがとうございました!
C++でwinapiを使用してマウスの状態(位置、ボタンの状態)を取得する方法はありますか? Windows メッセージ (WM_MOUSEMOVE、WM_LBUTTONDOWN など) を使用したくありません。
ありがとうございました!
GetCursorInfoとGetKeyStateを探しているようです。後者は、対象のマウス ボタンを指定する仮想キー コードで呼び出します。
カーソル位置だけが必要な場合は、GetCursorPos () を使用できます。GetCursorInfo () と GetCursorPos() の両方が画面座標を返すことに注意してください。ScreenToClient () を使用して、クライアント領域のオフセットに変換します。
OP は Windows メッセージを使用したくなかったのですが、補足として何か言及したかっただけです。
私が見つけたのは、メッセージ ハンドラー (たとえば WM_SETCURSOR) の一部としてカーソル位置を取得することでした。ほとんどの文献では、GetMessagePos () を使用してメッセージ送信時のカーソル位置を取得することを推奨しています。ただし、マウスが移動した後ではなく、移動する前の位置です。そのため、領域上でマウスオーバー検出を実行しようとすると、位置がピクセルの後ろに「ラグ」を返しました。