我需要在远程Windows主机上运行GUI应用程序,然后使用鼠标和键盘执行某些操作。这应该从本地PC完成而无需打开任何GUI应用程序(例如"远程桌面连接")。
所以我在远程服务器上有一个python脚本,它执行我需要的所有操作(在本地PC上测试),我通过psexec运行脚本,成功打开服务器上的GUI应用程序。
问题是当python尝试以编程方式移动并单击鼠标时会抛出异常,因为没有屏幕。
键盘操作(Ctrl-A,Ctrl-C,Ctrl-V)可以成功完成。
以下是我用来模拟鼠标点击的代码,但正如我所提到的,它并不适用于服务器,因为没有实际的屏幕。
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
有人能建议我解决方案吗?
答案 0 :(得分:0)
尝试通过ctypes直接连接到user32.dll并使用鼠标控制功能。也许win32types的问题在于它主要与MS API静态链接。所以它是针对桌面环境编程的。
此外,您可以尝试在pypi.python.org上找到的pymouse模块,当然,这与我上面建议的相同。