目前,我已经设置了一个脚本来监视一个窗口。它需要一个像素簇的屏幕截图,根据它接收到的内容,它将运行这个简单的宏,我目前已经使用几个不同的输入库设置了这个宏。
x1, y1, x2, y2 = rect = win32gui.GetWindowRect(WIN)
res = (x2 - x1, y2-y1)
item_pos = (x2-254, y2-372)
del_pos = (x2-302, y2-263)
tree_pos = (x2-467, y2-291)
click(item_pos, mouse.Button.right)
sleep(.4)
click(del_pos, mouse.Button.left)
sleep(.4)
k.press(keyboard.Key.enter)
k.release(keyboard.Key.enter)
sleep(2)
click(tree_pos, mouse.Button.left)
如你所见,这是非常平凡的。click函数使用ctypes将光标导航到任何监视器上,然后使用pynput单击。
我知道如果不使用我的设备(键盘和鼠标)来发送这些调用,而是直接将这些调用发送到窗口中,那么这个宏将更加优雅。我已经有win32gui跟踪窗口的位置,允许我编辑输入,以便它们可以根据需要影响窗口,尽管它被移动了。但我似乎找不到任何方法让我在不接管自己设备的情况下直接将这些点击和键盘事件传递给应用程序。
非常感谢您的帮助,谢谢!