所以我正在尝试构建一个机器人来自动化我通过 Bluestacks 在我的电脑上运行的手机游戏中的一些操作。
我的程序截取窗口的屏幕截图,在图像中查找某些按钮模板并返回它们的坐标。
我现在希望能够在这些坐标处向窗口发送点击事件,但由于我还想在机器人在后台运行时做其他事情,我正在寻找一种方法将鼠标事件直接发送到窗口(即使它被最小化/在后台),而不会影响鼠标的移动,而我正在做其他事情或将窗口带到前台/取消最小化它。这可能吗?
最佳答案
基于德米特里的回答。 x 和 y 必须是相对于 Bluestacks 窗口而不是屏幕的坐标。
def click(x, y):
hWnd = win32gui.FindWindow(None, "BlueStacks")
lParam = win32api.MAKELONG(x, y)
hWnd1= win32gui.FindWindowEx(hWnd, None, None, None)
win32gui.SendMessage(hWnd1, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam)
win32gui.SendMessage(hWnd1, win32con.WM_LBUTTONUP, None, lParam)
click(100,100)
关于python - 有没有办法在python中将点击事件发送到后台的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59285854/