问题描述
您好,我正在编写一个程序,以在某个程序上自动按下鼠标以获取某些像素,但我不希望第二个程序在单击时出现问题,我的程序将查找绿色像素并单击它在屏幕的某个部分,但如果有另一个绿色的程序/图像,我不希望它点击
我只是想让它点击我想让它点击的进程/程序,而不是点击屏幕 如果有人可以给我一些提示,那会很有帮助
解决方法
对不起,我不熟悉与程序交互的键,但我做了一些研究,发现了一个名为 PyWin32 的库,它应该能满足您的需求。您可以搜索其文档或通过在 youtube 上的这个特定库中查找视频来试试运气。
无论如何,希望这能帮助您找到正确的方向,并随时提出任何问题
,要获得焦点窗口(如果它是焦点,请不要单击)使用:
from win32gui import GetWindowText,GetForegroundWindow
print(GetWindowText(GetForegroundWindow()))
在您的窗口上执行此操作,然后执行 if
语句以停止点击像素。
但是要点击像素,您可以使用 win32con
和 win32api
:
import win32api,win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0)
sleep(0.01)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,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")
将 width
和 hight
设置为您的屏幕分辨率,并将 WindowIsFocused
设置为 True(如果您想要的窗口已聚焦)。为此使用一个额外的函数(该函数应该持续运行)。
希望能帮到你。有任何问题问我。 :)