1

我编写了这段代码来在 x,y 位置 100,200 上单击鼠标,然后按下退格键:

import win32api, win32con
import time

def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def press_back():
    win32api.keybd_event(0x08,0,0,0) #click backspace
    time.sleep(0.1)
    win32api.keybd_event(0x08,0,2,0) #release backspace

click(100,200)
press_back()

我现在要做的是检查 100,200 处的颜色是否为红色。我怎样才能做到这一点?

编辑:我有解决方案...

color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 100 , 200)

无论如何谢谢

4

1 回答 1

3

用你的回答

color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 100 , 200)

你得到一个整数,对于某人(比如我)来说可能不是很友好。

如果你想要一个 RGB 元组,你可以检查这个答案:RGB Int to RGB - Python

def rgbint2rgbtuple(RGBint):
    blue =  RGBint & 255
    green = (RGBint >> 8) & 255
    red =   (RGBint >> 16) & 255
    return (red, green, blue)

最后,您必须检查颜色是否为红色,如果您也接受相似的颜色,这可能不是那么容易,不仅是红色(即 (255, 0, 0))。

于 2013-04-12T23:55:33.327 回答