如何用Keyboard库为带自动点击器的pyautogui脚本设置全局终止热键
实现全局热键终止pyautogui自动点击脚本
前置准备
先安装keyboard库:
pip install keyboard
核心实现思路
- 利用
keyboard监听全局热键,不受当前活动窗口(比如VSCode)影响 - 将自动点击逻辑放到独立线程,避免阻塞热键监听进程
- 通过全局标志位控制自动点击循环的启停,触发热键时优雅终止程序
完整代码示例
import pyautogui import keyboard import sys import threading # 控制自动点击的全局标志位 running = True def autoclicker(): while running: # 替换成你的自动点击逻辑,示例为每隔0.5秒点击一次 pyautogui.click() pyautogui.sleep(0.5) def stop_script(): global running running = False print("脚本已终止") sys.exit() # 注册全局热键(示例为Ctrl+Shift+Q,可自定义) keyboard.add_hotkey('ctrl+shift+q', stop_script) # 启动自动点击线程 click_thread = threading.Thread(target=autoclicker) click_thread.start() # 主线程保持运行,等待热键触发 keyboard.wait()
关键注意事项
- 管理员权限:Windows系统下需右键选择「以管理员身份运行」脚本,否则
keyboard无法监听全局热键 - 热键自定义:可修改
keyboard.add_hotkey中的按键组合,比如改成'esc'用ESC键直接终止 - 优雅终止:通过标志位
running控制循环,避免强制终止线程引发异常
内容的提问来源于stack exchange,提问作者Nei1to
相关产品推荐
相关产品推荐

