在远程桌面中安装和 运行 pywinauto

Installing and running pywinauto in a remote desktop

我想在远程桌面上自动化一个非常古老的软件 (drafix),它只能在 Windows XP 中 运行。

是否可以编写一个直接与软件控件交互的 pywinauto 脚本,而不需要在 GUI 上发送 mouse/keyboard 点击,然后最小化远程桌面屏幕甚至锁定 PC ?

我需要打开程序,遍历文件名列表,打开每个文件名并另存为不同的格式。

我用一些基本的 GUI 自动化来完成它 - 如有必要,单击按钮,发送键盘快捷键并输入文件名形成一个列表。但它不是很可靠,我想最小化远程桌面 window 并使用我的 PC 而不是将它放在前台。

根据我的阅读 ,应该可以通过一些变通方法实现,我需要在远程桌面上安装 Python 的旧版本(知道是哪个吗?)在那里写 运行 脚本。

您可以做的只是将您的脚本复制到远程计算机,然后 运行 它在那里。关于最小化或封闭的 RDP,Remote Execution Guide 中描述了一些解决方法和技巧,其中总结了一些 Whosebug 的答案。

还有其他方法可以使用 pywinauto 控制远程桌面上的 gui 应用程序。您可以使用 rpyc 或 Remote Python 调用。那是一个 python rpc 库(远程过程调用)

https://rpyc.readthedocs.io/en/latest/

在 rpyc 中,您的远程计算机作为服务器,您的主机作为客户端。

首先你需要 运行 rpyc_classic.py 在连接到远程计算机并使用 pywinauto 库后。例如,我使用 rpyc 在带有 pywinauto 的远程计算机上启动 microsip。

远程电脑的ip是192.168.222.222.

import rpyc
ip = "192.168.222.222"
conn = rpyc.classic.connect(ip)
conn.execute("from pywinauto import Application")
conn.execute(r"Application().start(r'C:\Program Files (x86)\MicroSIP\microsip.exe')")