Windows(Windows 7以降)でマウスカーソルの位置またはボタンの状態を取得するための最も適切な方法は何ですか?以前はDirectInputを使用していましたが、現在は使用しておらず、使用したくありません。GetCursorPosがあるのを見ましたが、マウスボタンの状態を取得するための情報は何も表示されません。以前に読んだことがありますが、ウィンドウメッセージ(WM_LBUTTONUPなど)を読み取るだけでは、リアルタイムアプリケーションでは「遅い」と見なされていたため、他のオプションはわかりません。
質問する
17079 次
2 に答える
7
現在のカーソル位置をポーリング/クエリする場合は、GetCursorPosを使用できます。ボタンの状態を確認するには、GetAsyncKeyStateを使用します。
ウィンドウにメッセージ ループを実装している場合、マウスの移動に対して受け取る通知はWM_MOUSEMOVEです。ここにリストされている通知を通じて、マウス入力が通知されます。
于 2012-05-25T16:53:43.440 に答える
3
WM_LBUTTONUP
マウスがクライアント領域をクリックしたときにのみ生成されるため、ウィンドウ化されたゲームでは、ウィンドウメッセージと同じくらい優れているため、ウィンドウのサイズを変更したり自由に移動したりできます。
直接入力の代わりに、初期化にさらにコードを必要とする未加工の入力を使用できますがWM_INPUT
、カーソルではなく物理的なマウスが移動したときに生成されるため、マウスの動きに合わせて移動するのが最善の方法です。ユーザーがクリップ四角形の側面にぶつかってマウス移動メッセージが生成されなくなることを心配する必要はありません。
リンク
于 2012-05-25T16:48:26.407 に答える