我正在使用 AutoIt 来自动化 GUI 操作(使用 RDP 连接到运行待自动化应用程序的机器)。每当我最小化 RDP 窗口(使用 mRemote)时,都不会再执行 AutoIt 命令。
当我最小化窗口时,RDP 会话可能被标记为“非活动”(我不知道这是否属实,也不知道如何配置此行为,如果是的话)。我正在考虑 2 个选项来克服这个问题:
- 作为一些提升的用户(或服务)运行我的进程。
- 找到这个控制会话是否被标记为非活动的配置并覆盖它。
当 RDP 窗口最小化时,如何保持远程桌面会话“活动”?
我正在使用 AutoIt 来自动化 GUI 操作(使用 RDP 连接到运行待自动化应用程序的机器)。每当我最小化 RDP 窗口(使用 mRemote)时,都不会再执行 AutoIt 命令。
当我最小化窗口时,RDP 会话可能被标记为“非活动”(我不知道这是否属实,也不知道如何配置此行为,如果是的话)。我正在考虑 2 个选项来克服这个问题:
当 RDP 窗口最小化时,如何保持远程桌面会话“活动”?
我们对 RDP 也有同样的问题。我们使用的解决方法是打开另一个远程桌面会话以连接到同一服务器:
server
RD。server
再次连接到。这样,当您最小化甚至断开第一个 RD 会话时,第二个会话仍将“活动”。当然,您的远程桌面服务器必须支持来自同一用户的多个连接。
您可能希望将当前的 RDP 会话附加到 CONSOLE。在这种情况下,即使在断开连接后,UI 仍将处于活动状态。
TSCON {sessionid | sessionname} /DEST:CONSOLE
我的夜间回归套件曾经在我的本地机器上失败,因为企业规则会在 14 分钟不活动后自动锁定机器。所以我写了一个小的 vbScript 程序,每 12 分钟按一次“PrintScreen”键,它确实解决了这个问题。虽然这不在 RDP 上,但在远程机器上执行类似的操作会有所帮助。
如果根本没有 rdp 会话,则接受的答案不起作用,并且您仍然希望通过 AutoIt 将其自动化。
他们说在这种情况下你不应该使用 WinActivate 并在 AutoIt 脚本中使用 ControlSend,它会顺利运行。是的,这行得通,我自己检查过。