我想自动化一个非常旧的软件(drafix),它只能在Windows XP的远程桌面上运行。
有没有可能编写一个pywinauto脚本,直接与软件控件交互,而不需要在GUI上发送鼠标/键盘点击,然后最小化远程桌面屏幕,甚至锁定PC?
我需要打开程序,遍历文件名列表,打开每个文件名,然后保存为不同的格式。
我是通过一些基本的GUI自动化来完成的-如果需要,点击按钮,发送键盘快捷键,并从列表中输入文件名。但它不是很可靠,我想最小化远程桌面窗口,并使用我的PC,而不是让它在前台。
根据我所读到的here,应该可以使用一些变通方法,并且我需要安装一个旧版本的Python (知道是哪一个吗?)在远程桌面上编写并运行脚本。
发布于 2019-04-03 18:45:33
你能做的就是把你的脚本复制到远程机器上并在那里运行它。关于最小化或封闭式RDP,在总结了几个StackOverflow答案的Remote Execution Guide中描述了一些解决方法和技巧。
发布于 2020-09-26 22:08:00
还有其他方法,您可以使用pywinauto控制远程桌面上的gui应用程序。您可以使用rpyc或远程Python调用。这是一个用于rpc(远程过程调用)的python库
https://rpyc.readthedocs.io/en/latest/
在rpyc中,您的远程计算机作为服务器,您的主机作为客户端。
首先,您需要在连接到远程计算机并使用pywinauto库后,在远程计算机上运行rpyc_classic.py。例如,我使用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')")
https://stackoverflow.com/questions/55492844
复制相似问题