断开RDP也不影响继续自动化点击等操作——修改注册表

1. 如果你通过 RDP 窗口连接(最常见)

当你最小化本地的远程桌面窗口时,本地电脑的 RDP 客户端会通知服务器停止渲染 GUI。为了防止这种情况,你需要在控制端(你面前这台物理电脑)修改注册表:

  • 路径: HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
  • 操作: 新建 DWORD (32-bit) Value,名称为 RemoteDesktopGuiSelection,数值数据设为 2
  • 作用: 即使你最小化了窗口,本地客户端也会强制服务器继续渲染画面,这样你的 pyautogui 才能抓到图。

2. 如果你直接关闭(断开)远程连接

如果你是点击 X 关闭远程桌面,而希望程序在后台继续跑,那么仅仅修改本地注册表是不够的,因为连接已经断开了。这种情况下有几种处理方式:

  • 推荐方案: 在远程电脑(跑脚本的那台)上创建一个 断开RDP并保持脚本不中断.bat 文件,内容如下:

被控端是win:

Code snippettscon.exe %sessionname% /dest:console

当你想要断开连接时,不要点 X,而是右键以管理员身份运行这个批处理文件。它会把当前的远程会话强制转回本地控制台,界面不会被锁定,脚本就能继续运行。


总结对照表

场景修改哪台电脑具体操作
最小化窗口后脚本失效控制端 (你面前的电脑)修改注册表 RemoteDesktopGuiSelection = 2
彻底关掉窗口后脚本失效被控端使用 tscon 命令断开连接,而不是点 X