在WM_INPUT
事件中读取鼠标位置并隐藏鼠标光标时,当通过远程桌面使用该应用程序时,似乎SetCursorPos
不起作用。
当应用程序未通过远程桌面使用时,相同的确切代码可以正常工作。即我可以在所有方向上获得无限的鼠标移动,因为SetCursorPos
在本地访问应用程序时正确地将鼠标光标移动到屏幕中心。
从远程桌面访问SetCursorPos
时是否存在限制(可能与安全相关)?或者有解决方法吗?或者也许是因为鼠标位置值是绝对的(设置MOUSE_MOVE_ABSOLUTE
位)?
我在WM_INPUT
中读取的所有值都不受SetCursorPos
中设置的影响。
感谢任何帮助,谢谢!
答案 0 :(得分:0)
此行为似乎与https://communities.vmware.com/thread/189519中描述的RDP或VM环境中SetCursorPos(和鼠标事件)的处理有关。
答案 1 :(得分:0)
这是一个非常古老的线程,但是在当前的世界形势下,它可能会有所帮助。
要解决RDP和鼠标问题,您需要打开Local Group Policy Editor
并转到:
Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment
。
在Remote Session Environment
中,您需要将Use WDDM graphic display driver for Remote Desktop Connections
设置为disable
。
可能Windows 10 Pro
是必需的,但我无法检查它。
您需要在要连接到(主机)的机器上进行此更改。
建议重新启动Windows。