|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zltzlt 于 2020-1-2 19:23 编辑
Python 监听、控制鼠标与键盘
Python 有着数不清的第三方库,pynput 就是其中之一,它实现了监听、控制鼠标与键盘。让我们通过几个小例子学习它的基本用法。
控制鼠标
- from pynput.mouse import Button, Controller
- mouse = Controller()
- # 读取鼠标指针在屏幕上的位置
- print(f'当前鼠标指针的位置是:{mouse.position}')
- # 设置鼠标指针的位置
- mouse.position = (200, 200)
- print(f'现在我们将鼠标指针移动到了 {mouse.position}')
- # 相对于当前位置移动指针
- mouse.move(100, -100)
- # 按下并释放鼠标左键
- mouse.press(Button.left)
- mouse.release(Button.left)
- # 双击鼠标左键
- mouse.click(Button.left, 2)
- # 向下滚动两下(滑动鼠标上的滚轮)
- mouse.scroll(0, 2)
复制代码
监听鼠标
- from pynput import mouse
- def on_move(x, y):
- print(f'指针移动到了 {(x, y)}')
- def on_click(x, y, button, pressed):
- print(f"在 {(x, y)} {('按下' if pressed else '释放')}鼠标")
- def on_scroll(x, y, dx, dy):
- print(f"在 {(x, y)} 位置,鼠标滚轮向{('下' if dy < 0 else '上')}滑动")
- # 开始监听
- with mouse.Listener(
- on_move=on_move,
- on_click=on_click,
- on_scroll=on_scroll) as listener:
- listener.join()
- # 开始监听(不堵塞线程)
- listener = mouse.Listener(
- on_move=on_move,
- on_click=on_click,
- on_scroll=on_scroll)
- listener.start()
复制代码
控制键盘
- from pynput.keyboard import Key, Controller
- keyboard = Controller()
- # 按下并释放空格
- keyboard.press(Key.space)
- keyboard.release(Key.space)
- # 键入小写字母 a
- keyboard.press('a')
- keyboard.release('a')
- # 键入大写字母 A 的两种方式
- keyboard.press('A')
- keyboard.release('A')
- with keyboard.pressed(Key.shift):
- keyboard.press('a')
- keyboard.release('a')
- # 使用快捷的方法键入 "Hello World"
- keyboard.type('Hello World')
复制代码
监听键盘
- from pynput import keyboard
- def on_press(key):
- try:
- print(f'按键 {key.char} 被按下')
- except AttributeError:
- print(f'特殊按键 {key} 被按下')
- def on_release(key):
- print('{0} 被释放'.format(key))
- # 如果按下了 <Esc> 键
- if key == keyboard.Key.esc:
- # 停止监听
- return False
- # 开始监听
- with keyboard.Listener(
- on_press=on_press,
- on_release=on_release) as listener:
- listener.join()
- # 开始监听(不堵塞线程)
- listener = keyboard.Listener(
- on_press=on_press,
- on_release=on_release)
- listener.start()
复制代码 |
评分
-
查看全部评分
|