Winapi 在多屏幕设置中隐藏鼠标光标

Winapi 在多屏幕设置中隐藏鼠标光标,winapi,cursor,mouse,fullscreen,Winapi,Cursor,Mouse,Fullscreen,我试图使用win32 API ShowCursor(FALSE)隐藏鼠标光标,但是在多屏幕设置中,当鼠标到达另一个屏幕时,我在windows中没有得到任何鼠标更新,我是否可以阻止这种情况 这是一款全屏视频游戏,我似乎找不到任何windows api可以做到这一点。据我所知,您的问题不在于隐藏鼠标光标,而在于将其限制在您的窗口中 在这种情况下,函数应该完成这项工作 { RECT windowRect; GetWindowRect(hWnd, &windowRect);

我试图使用win32 API ShowCursor(FALSE)隐藏鼠标光标,但是在多屏幕设置中,当鼠标到达另一个屏幕时,我在windows中没有得到任何鼠标更新,我是否可以阻止这种情况


这是一款全屏视频游戏,我似乎找不到任何windows api可以做到这一点。

据我所知,您的问题不在于隐藏鼠标光标,而在于将其限制在您的窗口中

在这种情况下,函数应该完成这项工作

{
    RECT windowRect;
    GetWindowRect(hWnd, &windowRect);
    ClipCursor(&windowRect);
}
对于无边框的全屏窗口,只需执行一次即可。如果窗口的位置或大小发生变化或窗口失去焦点,则需要重复该步骤

对于游戏编程来说,可能有更好的方法,比如DirectInput,它提供了一种专用的鼠标操作模式(可用),并在较低级别上为您完成所有这些

例如,有一些关于不同处理方法的讨论

另一方面,如果您希望光标能够离开窗口,并且仅在光标位于窗口上方时将其隐藏,则应处理消息并使用隐藏光标

case WM_SETCURSOR:
    SetCursor(NULL);
    return TRUE;