失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PC屏幕颜色识别实现鼠标自动点击

PC屏幕颜色识别实现鼠标自动点击

时间:2023-01-28 01:48:03

相关推荐

PC屏幕颜色识别实现鼠标自动点击

实现自动化控制,需求:在电脑屏幕中两个点出现红色,然后用鼠标点击右下方刷新,实现代码如下,可是在实际运行中,运行一段时间就会失效(假死)不结束也不报错。请各位大佬帮忙看看能否有解决方案,谢谢!

from ctypes import windllimport win32apiimport win32conimport timefrom datetime import datetimedef get_color1(x, y): #获取屏幕固定1像素rgb值list1 =[ ]gdi32 = windll.gdi32user32 = windll.user32hdc = user32.GetDC(None) # 获取颜色值pixel = gdi32.GetPixel(hdc, x, y) # 提取RGB值r = pixel & 0x0000ffg = (pixel & 0x00ff00) >> 8b = pixel >> 16return [r,g,b]def mouse_buten(m,n):#鼠标点击width = windll.user32.GetSystemMetrics(0) # 获取屏幕宽度height = windll.user32.GetSystemMetrics(1) # 高度# print(width, height)windll.user32.SetCursorPos(m, n)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, m, n) # 鼠标左键按下time.sleep(0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, m, n) #鼠标左键抬起0time.sleep(1)h=0var = 0while var == 0:list1 = get_color1(1290, 57)list2 = get_color2(1250, 88)if (50 < list1[0] < 61 and 170 < list1[1] < 180 and 74 < list1[2] < 106) or \(60 < list2[0] < 61 and 60 < list2[1] < 65 and 64 < list2[2] < 66):mouse_buten(1220,757)now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')h += 1print(h, "刷新成功", now_time)time.sleep(3)else:time.sleep(0.5)

如果觉得《PC屏幕颜色识别实现鼠标自动点击》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。