You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:18:11