使用 python 单击某个进程的像素

Clicking on pixel for certain process with python

你好,我正在编写一个程序来自动对程序中的某些像素按下鼠标,但我不希望第二个程序在点击时出现障碍,我的程序将寻找一个绿色像素并且在屏幕的某个部分点击它,但如果有另一个 program/image 是绿色的,我不希望它点击那个

我只是想让它点击process/program我想让它点击,而不是点击屏幕 如果有人可以给我一些提示,那将很有帮助

抱歉,我不熟悉与程序交互的键,但我做了一些研究,发现一个名为 PyWin32 的库应该能满足您的需要。您可以搜索其文档或通过在 youtube 上查找有关此特定库的视频来碰碰运气。

无论如何,希望这能帮助您确定正确的方向,并随时提出任何问题

要获得焦点 window(如果这是焦点,请不要单击)使用:

from win32gui import GetWindowText, GetForegroundWindow
print(GetWindowText(GetForegroundWindow()))

在您的 windows 上执行此操作,然后执行 if 语句以停止点击像素。

但要点击像素,您可以使用 win32conwin32api:

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

要获取像素并单击它们,请使用 PyAutoGui

import pyautogui
from pyautogui import *

width = 1920
hight = 1080

while WindowIsFocused:
    pic = pyautogui.screenshot()
    for x in range(0, width, 1):
        for y in range(0, hight, 1):
            r, g, b = pic.getpixel((x, y))
            if r == 252:
                if g == 200:
                    if b == 118:
                        click(x,y)
                        print("Clicked")

widthhight 设置为您的屏幕分辨率,如果您想要的 window 已聚焦,则将 WindowIsFocused 设置为 True。为此使用一个额外的功能(该功能应该 运行 不断)。

希望对您有所帮助。如有任何问题,请问我。 :)