我使用的是Windows操作系统,我试图在后台(非活动)应用程序上执行单击操作,而不将它们带到前台。 我已经成功地在Microsoft Paint中完成了(在最小化的Paint实例上绘制一个点),但由于某些原因,这似乎无法在基于Java的应用程序(RuneLite.exe)上运行,我正在为其编写此程序
一些补充资料:
from pywinauto.application import Application
amount = 2
handles = []
def start_apps():
for i in range(amount):
a = Application()
a.start("D:\\Users\\Arno\\AppData\\Local\\RuneLite\\RuneLite.exe")
time.sleep(15)
handle = a.window().child_window(class_name="SunAwtCanvas", found_index=1).handle # select the most inner window
handles.append(handle)
def do_click(h, x, y):
long_position = win32api.MAKELONG(x, y) # simulate the mouse pointer and send it to the specified coordinates
win32api.SendMessage(h, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position) # simulate mouse press
win32api.SendMessage(h, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position) # Simulate mouse up
start_apps()
print(handles)
time.sleep(20)
for h in handles:
do_click(h, 450, 290)
有人知道为什么会发生这种情况,以及我如何着手解决它吗
目前没有回答
相关问题 更多 >
编程相关推荐