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

如何用Python编写支持全局热键触发的autoclicker自动按键脚本?

自动按键器(Autoclicker)实现方案

1. 依赖安装

使用pynput库同时实现全局热键监听和键盘按键模拟,执行以下命令安装依赖:
pip install pynput

2. 完整可运行代码

import time
import threading
from pynput import keyboard

# 状态标记
is_running = False  # 自动按键功能启停标记
exit_flag = False   # 程序退出标记
# 键盘控制器实例
kb = keyboard.Controller()

def auto_key_loop():
    """自动按键循环逻辑,运行在独立线程中"""
    global is_running
    while not exit_flag:
        while is_running:
            # 按住向下方向键10秒
            kb.press(keyboard.Key.down)
            # 拆分等待时长为小片段,保证停止指令可以快速响应
            for _ in range(100):
                if not is_running:
                    break
                time.sleep(0.1)
            kb.release(keyboard.Key.down)
            
            if not is_running:
                continue
            
            # 按住向上方向键10秒
            kb.press(keyboard.Key.up)
            for _ in range(100):
                if not is_running:
                    break
                time.sleep(0.1)
            kb.release(keyboard.Key.up)
        time.sleep(0.1)

def toggle_running():
    """热键触发的启停切换回调"""
    global is_running
    is_running = not is_running
    if is_running:
        print("自动按键已启动")
    else:
        print("自动按键已暂停")
        # 停止时主动释放所有按键,避免出现一直按住的异常
        kb.release(keyboard.Key.down)
        kb.release(keyboard.Key.up)

if __name__ == "__main__":
    # 启动自动按键线程
    threading.Thread(target=auto_key_loop, daemon=True).start()
    # 注册全局热键
    with keyboard.GlobalHotKeys({'a': toggle_running}) as listener:
        print("提示:按a键启动/停止自动按键,按Ctrl+C退出程序")
        try:
            listener.join()
        except KeyboardInterrupt:
            exit_flag = True
            # 退出前释放按键
            kb.release(keyboard.Key.down)
            kb.release(keyboard.Key.up)
            print("程序已退出")

3. 核心特性说明

  • 全局热键全桌面生效,不需要脚本窗口处于激活状态即可触发启停
  • 自动按键逻辑运行在独立线程中,不会阻塞热键监听
  • 10秒按键时长拆分为0.1秒的小间隔检查状态,按下停止键后最快0.1秒即可响应停止,不需要等满当前10秒周期
  • 每次停止和程序退出时都会主动释放方向键,避免系统按键状态异常

注意:如果需要在管理员权限运行的应用内生效,需要用管理员权限启动该Python脚本,否则高权限窗口会拦截模拟的按键指令。

内容的提问来源于stack exchange,提问作者Annsh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:54:02