Winapi 在Windows API编程中,如何防止鼠标离开窗口?

Winapi 在Windows API编程中,如何防止鼠标离开窗口?,winapi,mouse,hwnd,Winapi,Mouse,Hwnd,在Win32 API编程中,如何将鼠标限制为一个特定的HWND?此HWND不一定由我创建。它可以是浏览器窗口,也可以是photoshop程序窗口。我试图写一个程序,不让鼠标离开特定的Windows程序。我可以通过GetWindowText查看MSDN:查看MSDN:查看MSDN:查看MSDN:查看MSDN:查看MSDN:谢谢@Vlad。你就是那个人。您知道这是针对每个应用程序还是针对每个屏幕的全局API吗?看起来是每屏的?这意味着,如果我不释放光标,那么Windows将被拧紧,因为鼠标无法移出屏

在Win32 API编程中,如何将鼠标限制为一个特定的
HWND
?此
HWND
不一定由我创建。它可以是浏览器窗口,也可以是photoshop程序窗口。我试图写一个程序,不让鼠标离开特定的Windows程序。我可以通过
GetWindowText

查看MSDN:

查看MSDN:

查看MSDN:

查看MSDN:

查看MSDN:

查看MSDN:

谢谢@Vlad。你就是那个人。您知道这是针对每个应用程序还是针对每个屏幕的全局API吗?看起来是每屏的?这意味着,如果我不释放光标,那么Windows将被拧紧,因为鼠标无法移出屏幕区域?它是全局的,但文档中没有说明它是否为每个监视器。我怀疑它是相对于整体而言的,而不是任何特定的监视器。文档中确实指出:“将光标限制在屏幕上的矩形区域内。如果后续光标位置(由SetCursorPos函数或鼠标设置)位于矩形外,系统会自动调整该位置,以将光标保持在矩形区域内。”我不知道rect是否可以跨越监视器…文档还声明:“光标是一个共享资源。如果应用程序限制光标,它必须使用ClipCursor释放光标,然后再将控制权交给另一个应用程序。”因此,是的,一旦光标被剪切到矩形,它在释放之前无法离开矩形。这只是半个答案:虽然它确实提供了一种将鼠标移动限制在矩形区域的方法,但它不会告诉您如何将其连接到
HWND
。这也只是半个解决方案,因为它没有考虑到窗口大小(或可见性)的变化。@IInspectable-我假设这个问题的实质是“如何约束光标位置”,bodacydo可以从这里着手,显然我是对的:)谢谢@Vlad。你就是那个人。您知道这是针对每个应用程序还是针对每个屏幕的全局API吗?看起来是每屏的?这意味着,如果我不释放光标,那么Windows将被拧紧,因为鼠标无法移出屏幕区域?它是全局的,但文档中没有说明它是否为每个监视器。我怀疑它是相对于整体而言的,而不是任何特定的监视器。文档中确实指出:“将光标限制在屏幕上的矩形区域内。如果后续光标位置(由SetCursorPos函数或鼠标设置)位于矩形外,系统会自动调整该位置,以将光标保持在矩形区域内。”我不知道rect是否可以跨越监视器…文档还声明:“光标是一个共享资源。如果应用程序限制光标,它必须使用ClipCursor释放光标,然后再将控制权交给另一个应用程序。”因此,是的,一旦光标被剪切到矩形,它在释放之前无法离开矩形。这只是半个答案:虽然它确实提供了一种将鼠标移动限制在矩形区域的方法,但它不会告诉您如何将其连接到
HWND
。这也只是半个解决方案,因为它没有考虑到窗口大小(或可见性)的变化。@IInspectable-我假设这个问题的实质是“如何约束光标位置”,bodacydo可以从这里着手,显然我是对的:)谢谢@Vlad。你就是那个人。您知道这是针对每个应用程序还是针对每个屏幕的全局API吗?看起来是每屏的?这意味着,如果我不释放光标,那么Windows将被拧紧,因为鼠标无法移出屏幕区域?它是全局的,但文档中没有说明它是否为每个监视器。我怀疑它是相对于整体而言的,而不是任何特定的监视器。文档中确实指出:“将光标限制在屏幕上的矩形区域内。如果后续光标位置(由SetCursorPos函数或鼠标设置)位于矩形外,系统会自动调整该位置,以将光标保持在矩形区域内。”我不知道rect是否可以跨越监视器…文档还声明:“光标是一个共享资源。如果应用程序限制光标,它必须使用ClipCursor释放光标,然后再将控制权交给另一个应用程序。”因此,是的,一旦光标被剪切到矩形,它在释放之前无法离开矩形。这只是半个答案:虽然它确实提供了一种将鼠标移动限制在矩形区域的方法,但它不会告诉您如何将其连接到
HWND
。这也只是半个解决方案,因为它没有考虑到窗口大小(或可见性)的变化。@IInspectable-我假设这个问题的实质是“如何约束光标位置”,bodacydo可以从这里着手,显然我是对的:)谢谢@Vlad。你就是那个人。您知道这是针对每个应用程序还是针对每个屏幕的全局API吗?看起来是每屏的?这意味着,如果我不释放光标,那么Windows将被拧紧,因为鼠标无法移出屏幕区域?它是全局的,但文档中没有说明它是否为每个监视器。我怀疑它是相对于整体而言的,而不是任何特定的监视器。文档中确实指出:“将光标限制在屏幕上的矩形区域内。如果后续光标位置(由SetCursorPos函数或鼠标设置)位于矩形外,系统会自动调整该位置,以将光标保持在矩形区域内。”我不知道rect是否可以跨越监视器…文档还声明:“光标是一个共享资源。如果应用程序限制光标,它必须使用ClipCursor释放光标,然后再将控制权交给另一个应用程序。”因此,是的,一旦光标被剪切到矩形,