【发布时间】:2016-05-29 09:52:24
【问题描述】:
我需要在远程 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)
谁能给我建议一个解决方案?
【问题讨论】:
-
那么到目前为止,您尝试了哪些方法来解决您要求我们解决的任务?
-
@Torxed 我不要求你为我解决任何问题我征求建议。我尝试使用 win32api 以编程方式模拟鼠标点击,但正如我所提到的,因为没有屏幕它不起作用。 win32api.SetCursorPos((x,y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
-
这样好多了。在您要求我们向您建议一个解决方案之前,该解决方案基本上要么基于意见,要么您要求我们为您进行编码 - 这两者都不允许在这里(阅读常见问题解答):) 但这要好得多,将该代码添加到你的问题。
-
你做错了。使用 UI 自动化而不是伪造输入。
标签: python windows remote-access remote-server remote-desktop