我正在尝试记录我的游戏鼠标移动,以便我可以回放它。该游戏是使命召唤4,尽管这与这个问题无关。相关的是,大多数第一人称射击游戏在移动鼠标光标时会重新居中,这样你就不会碰到任何边界。搜索一段时间后,我在网上找不到任何关于此内容的信息。我目前正在使用鼠标钩子(WH_MOUSE)来跟踪鼠标移动(WM_MOUSEMOVE)。当我列出这些消息时,我可以看到光标被拉回到screenResolutionX / 2,screenResolutionY / 2(屏幕中心)。
我第一次尝试解决这个问题就是忽略这些消息,如果它们等于屏幕的中心,那么当我回放这些鼠标移动时,重新定心将被忽略。我认为这可以解决问题,但是现在当我回放鼠标移动时,鼠标走得太远(远离我录制的内容)。当我在游戏的主菜单中进行相同的录制/回放时(光标没有重新居中),播放非常准确。我的问题是:如果游戏重新定位我的光标,我该如何准确地记录游戏中的鼠标移动?
提前致谢。
编辑:让我澄清一下我在问什么。我只想记录实际用户鼠标输入,而不是重新定位鼠标光标的游戏。
答案 0 :(得分:0)
您考虑过Low Level Mouse Hook了吗?它比鼠标钩子更早拦截鼠标消息。
答案 1 :(得分:-1)
为了拦截那些鼠标消息,您必须制作过滤器驱动程序或钩子。这是一篇关于这个主题的好文章(包含代码):
http://www.oblita.com/interception.html
该文章基于此Windows API: SetWindowsHookEx,并且对你来说是一个很好的起点。