摘要:包含控制和监控键盘的类。要使用上面的子包,从中引入即可。接下来就跟着小胖一起来看下如何玩转鼠标和键盘吧。调用,发起异常,或者回调函数中返回都会停止事件的监听。传递给回调函数的参数是一个类的实例。
关注公众号:「Python专栏」,后台回复「小姐姐」,获取全套代码!!!
还记得曾经为了刷大话西游而下载了按键精灵,然后论坛上搜了各种分辨率的脚本么?
还记得春节为了刷回家的高铁票,自己写了按键精灵的脚本么?
现在python有一个神奇的库,我们不用再去模拟复杂的按键精灵了!监控鼠标、键盘,甚至是……
pynput这个库让你可以控制和监控输入设备。
对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:
pynput.mouse:包含控制和监控鼠标或者触摸板的类。
pynput.keyboard:包含控制和监控键盘的类。
上面提到的子包都已被引入到pynput库中。要使用上面的子包,从pynput中引入即可。
from pynput import mouse, keyboard
接下来就跟着小胖一起来看下如何玩转鼠标和键盘吧。
1. 控制鼠标使用pynput.mouse控制鼠标
from pynput.mouse import Controller, Button mouse = Controller() # 获取当前鼠标位置 print(f"当前小胖的鼠标位置是: {mouse.position}") # 设置鼠标位置 mouse.position = (10, 20) print(f"现在小胖把鼠标移动到 {mouse.position}") # 使用相对距离,移动当前鼠标 mouse.move(5, -5) # 按下鼠标左键,释放鼠标左键 mouse.press(Button.left) mouse.release(Button.left) # 向下滚动2格 mouse.scroll(0, 2)
效果如图
2. 监控鼠标事件使用pynput.mouse.Listener监控鼠标事件
from pynput import mouse def on_move(x, y): print(f"鼠标移动到坐标 {(x, y)}") def on_click(x, y, button, pressed): print(f"{"按下" if pressed else "释放"} ,当前位置是: {(x, y)}") if not pressed: # 停止监听 return False def on_scroll(x, y, dx, dy): print(f"滑动鼠标, {"向下" if dy < 0 else "向上"} at {(x, y)}") # 一直监听事件,直到鼠标释放 with mouse.Listener( on_move=on_move, on_click=on_click, on_scroll=on_scroll) as listener: listener.join()
效果如图
鼠标事件监听器是一个线程,所有的回调函数都会在独立的线程中运行。
调用pynput.mouse.Listener.stop,发起StopException异常,或者回调函数中返回False都会停止事件的监听。
3. 控制键盘使用pynput.keyboard.Controller控制键盘
from pynput.keyboard import Key, Controller keyboard = Controller() # 按下并释放空格 keyboard.press(Key.space) keyboard.release(Key.space) # 按下并释放小写字母a keyboard.press("a") keyboard.release("a") # 2种方式输入大写A keyboard.press("A") keyboard.release("A") with keyboard.pressed(Key.shift): keyboard.press("a") keyboard.release("a") # 直接操作键盘输入Hello World keyboard.type("Hello World")4. 监控键盘事件
使用pynput.keyboard.Listener监听键盘事件
from pynput import keyboard def on_press(key): try: print(f"字母 {key.char} 被按下了") except AttributeError: print(f"特殊的键 {key} 被按下了") def on_release(key): print(f"{key} 被释放了") if key == keyboard.Key.esc: # 停止监听 return False # 一直监听键盘事件,直到停止 with keyboard.Listener( on_press=on_press, on_release=on_release) as listener: listener.join()
键盘事件监听器是一个线程,所有的回调函数都会在独立的线程中运行。
调用pynput.keyboard.Listener.stop,发起StopException异常,或者回调函数中返回False都会停止事件的监听。
传递给回调函数的key参数是一个pynput.keyboard.Key类的实例。当特殊按键和普通按键一起按下时,数字字母按键的值会被放置在pynput.keyboard.KeyCode类的实例中,对于不知道的按键会返回None。
接下来就是发挥你们能力的时候了,说不定写个脚本,用exe包装一下,命名为种子收发器?哈哈哈哈,然后就可以监听起来了?
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/43365.html
摘要:我们来用实现一个修改开机密码的小程序。的逻辑不复杂,核心代码就一句话,通过模块调用的,来达到修改密码。控制,并修改密码那么就是你想要修改的用户名,一般有两种操作,一种是直接修改他的,一种就是修改他现有的用户。等待用户双击即可。 showImg(https://img-blog.csdnimg.cn/20190302193115788.png?x-oss-process=image/wa...
阅读 2301·2021-11-16 11:52
阅读 2287·2021-11-11 16:55
阅读 713·2021-09-02 15:41
阅读 2917·2019-08-30 15:54
阅读 3116·2019-08-30 15:54
阅读 2212·2019-08-29 15:39
阅读 1480·2019-08-29 15:18
阅读 896·2019-08-29 13:00