ゲーム中のマウスの動きを記録して再生できるようにしようとしています。ゲームはCall of Duty 4ですが、この質問には関係ありません。関連性のあることは、ほとんどのファーストパーソンシューティングゲームが、マウスカーソルを動かすときにマウスカーソルを再センタリングするため、決してボーダーを打つことができないということです。しばらく検索した後、私はこのオンラインについて何も見つけることができません。私は現在、マウスの動き(WM_MOUSEMOVE)を追跡するためにマウスフック(WH_MOUSE)を使用しています。これらのメッセージをリストすると、カーソルがscreenResolutionX/2、screenResolutionY/2(画面の中央)に戻されていることがわかります。ゲームを再センタリングする前にカーソル位置を取得する
私が最初に試したのは、画面の中央に等しい場合にメッセージを無視することでした。そのため、マウスの動きを再生すると、再センタリングは無視されます。私はこれが問題を解決すると仮定しましたが、私がマウスの動きを再生すると、マウスはあまりにも遠くに(私が記録したものから離れて)行きます。ゲームのメインメニュー(カーソルが再センタリングされていない場所)で同じ録音/再生を行うと、再生は信じられないほど正確です。私の質問は、ゲームでマウスの動きを正確に記録するにはどうしたらいいですか?
ありがとうございます。
編集:私が求めていることを明確にしましょう。私は実際のユーザーのマウス入力を記録するだけで、マウスカーソルを再センタリングするゲームではありません。
ゲームのウィンドウに送信される前に**マウスメッセージを傍受する必要があるように聞こえます**。 TBH – YePhIcK
私はそれを見てきましたが、私がしようとしていることを達成するためにドライバ/フィルタが必要であるということに同意しません。それは、Windowsに達する前にマウスデータを傍受したいのであれば、ゲームに入る前にマウスのデータを傍受したいのですが、再センタリングは必要ありません。多分、マウスメッセージの出所を特定する方法があります。ゲームプロセスによって送信された場合、無視しますか?私はこのようなものを見つけることができませんでした.. –
"Windows"は過負荷の用語です。上記のコンテキストでは、「ウィンドウ」は「WindowsのOS」ではなく「ゲームのウィンドウ」を意味します。 – YePhIcK