Directx 直接x鼠标重新捕获问题 我有一个直接的X C++游戏。我使用自己的鼠标图标,在游戏初始化时捕获鼠标和键盘,但问题是如果我最小化游戏并选择另一个窗口,例如当我返回游戏屏幕时跳过歌曲媒体播放器,鼠标将不再工作

Directx 直接x鼠标重新捕获问题 我有一个直接的X C++游戏。我使用自己的鼠标图标,在游戏初始化时捕获鼠标和键盘,但问题是如果我最小化游戏并选择另一个窗口,例如当我返回游戏屏幕时跳过歌曲媒体播放器,鼠标将不再工作,directx,mouse,Directx,Mouse,据我所知,每次应用程序获得焦点时,我都需要重新捕获鼠标处理程序,但我该怎么做呢 我可以简单地重复使用初始化中相同的鼠标代码吗?如果可以,当应用程序重新获得焦点时,我应该把它放在哪里使其运行 仅供参考,我的游戏在窗口模式和全屏模式下运行,这会有所不同 谢谢首先,我建议使用Windows光标API,而不是自己画鼠标。它将更加灵敏(不会受到低fps等的影响),并且更易于处理。您也可以这样使用动画光标 要捕获鼠标,您只能在按下鼠标按钮时才能真正捕获它。如果未按下任何按钮且鼠标移到应用程序窗口外,则会丢失

据我所知,每次应用程序获得焦点时,我都需要重新捕获鼠标处理程序,但我该怎么做呢

我可以简单地重复使用初始化中相同的鼠标代码吗?如果可以,当应用程序重新获得焦点时,我应该把它放在哪里使其运行

仅供参考,我的游戏在窗口模式和全屏模式下运行,这会有所不同


谢谢

首先,我建议使用Windows光标API,而不是自己画鼠标。它将更加灵敏(不会受到低fps等的影响),并且更易于处理。您也可以这样使用动画光标

要捕获鼠标,您只能在按下鼠标按钮时才能真正捕获它。如果未按下任何按钮且鼠标移到应用程序窗口外,则会丢失捕获


你为什么还要抓老鼠?当鼠标未被捕获时,您会收到WM_MOUSEMOVE消息等。

这就是问题所在,如果我离开应用程序并返回,我将不再收到WM_MOUSEMOVE消息,就像您的应用程序中没有鼠标一样,那么应用程序中一定有问题。没有更多的信息,我说不出是什么原因导致了这一现象。