我想自动化一个只能在远程桌面上的Windows XP中运行的非常老的软件(补丁程序)。
是否可以编写直接与软件控件交互的pywinauto脚本,而无需在GUI上发送鼠标/键盘单击,然后最小化远程桌面屏幕甚至锁定PC?
我需要打开程序,循环浏览文件名列表,打开每个文件名并另存为其他格式。
我使用一些基本的GUI自动化来做到这一点-必要时单击按钮,发送键盘快捷键并从列表中输入文件名。但这不是很可靠,我想最小化“远程桌面”窗口并使用我的PC而不是将其放在前台。
从我读过的here来看,应该可以通过一些解决方法来实现,而且我需要在远程桌面上安装旧版本的Python(知道哪个?)来编写和运行脚本。在那里。
答案 0 :(得分:0)
您所能做的就是将脚本复制到远程计算机上并在其中运行。关于最小化或封闭的RDP,Remote Execution Guide中介绍了一些变通办法和技巧,其中总结了一些StackOverflow答案。
答案 1 :(得分:0)
还有其他方法可以使用pywinauto控制远程桌面上的gui应用程序。您可以使用rpyc或Remote Python Call。这是rpc(远程过程调用)的python库
https://rpyc.readthedocs.io/en/latest/
您的远程计算机是服务器,而主机是rpyc中的客户端。
首先,您需要在连接到远程计算机并使用pywinauto库后在远程计算机上运行rpyc_classic.py。例如,我使用pywinauto使用rpyc在远程计算机上启动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')")