rdp 会话终止后,SetCursorPos 失败并显示 "the parameter is incorrect"

SetCursorPos fail with "the parameter is incorrect" after rdp session terminated

我在 win 2008 服务器上有应用程序 运行。它使用的是 win32 api,当我使用 RDP 连接到服务器时它工作正常。当我断开对 SetCursorPos 的每次调用时,都会以失败告终。两种情况的坐标(参数)相同。有什么想法吗?

如果 RDP 断开,则无法使用 GUI 进行任何操作(没有屏幕,没有鼠标)。不过,解决方法很少。

  1. 保持 RDP 打开(不是全屏)并在本地机器上切换到另一个 window(RDP 不得最小化)。在这种情况下,您的脚本可以工作,但它不是完全自动化的解决方案,因为关闭本地计算机(当您在一天结束时离开办公室时)会中断 RDP 会话(以及您的 GUI 相关任务)。它不适合长时间 运行 GUI 测试。

  2. 您可能会长期执行更复杂的自动化操作:一台主服务器可能会与每台工作机器保持 VNC 连接(cross-platform 类似于 RDP),以便与 GUI 相关的任务 运行 不断。但是这种方式有很多陷阱(尤其是在 Windows 上)。您可能需要设置自动登录、安装和自定义(使用一些魔法!)VNC 服务器软件等...