pu369com

pynput获取鼠标位置及颜色例子(按键精灵仿品)

#encoding=utf-8
from PIL import ImageGrab
from pynput.keyboard import Key,Listener
from pynput import mouse

print("用右ctrl键获取鼠标位置及像素")
filename = 'mouse.txt'
myMouse = mouse.Controller()
i=1
def on_press(key):    
    if key == Key.ctrl_r:
        # 获取当前鼠标光标位置
        x, y = myMouse.position
        px = ImageGrab.grab().load()
        color = px[x, y]
        #print("x:%s y:%s color:%s" % (x,y,color))
        #s = "  x:  "+ str(x) +"  y:  " + str(y) + "  color:  " + str(color)
        s = "".join(["pyautogui.moveTo(",str(x),",",str(y),",duration=0.01)\npyautogui.click()\n"])
        with open(filename, 'a') as file_object:
            global i
            file_object.write(str(i) + s + "\n\n")
            i=i+1        
    else:
        print(key)

with Listener(on_press=on_press) as listener:
     listener.join()

  

 改进版:

#encoding=utf-8
from pynput import keyboard, mouse
import time

#注意最后鼠标点击关闭程序也会被记录
print("3秒后开始记录鼠标点击")
time.sleep(3)
print("开始")
filename = 'mouse.py'
with open(filename, 'a') as file_object:
    pystr="#encoding=utf-8\nimport time,pyautogui\n\ntime.sleep(3)\n\n"
    file_object.write(pystr)
     
myMouse = mouse.Controller()
i=1
def on_mouse_click(x, y, click, pressed):    
    global i
    if click == mouse.Button.left and pressed:
        print(i,": left",x,"  ",y)
        s = "".join(["pyautogui.moveTo(",str(x),",",str(y),",duration=0.5)  #",str(i),"\npyautogui.click()\n"])
        with open(filename, 'a') as file_object:            
            file_object.write(s +"\n")
            i=i+1
    if click == mouse.Button.right and pressed:
        print(i,": right:",x,"  ",y)
        s = "".join(["pyautogui.moveTo(",str(x),",",str(y),",duration=0.5)  #",str(i),"\npyautogui.rightClick()\n"])
        with open(filename, 'a') as file_object:            
            file_object.write(s +"\n")
            i=i+1
    
            
with mouse.Listener(on_click=on_mouse_click) as mouse_listener:
    mouse_listener.join()  

  

 

 

参考:https://blog.csdn.net/hidezero/article/details/128151991

https://www.cnblogs.com/yoyo1216/p/16688995.html

 

https://zhuanlan.zhihu.com/p/431842934

posted on 2023-03-07 20:07  pu369com  阅读(90)  评论(0)    收藏  举报

导航