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

如何用Python的keyboard库识别多按键?Ctrl+Alt组合键检测失效求助

解决Ctrl+Alt组合键检测与页面批量刷新问题

先看你代码里的两个核心问题:

  • 语法错误:try: e这行多了个多余的e,直接删掉即可。
  • 组合键检测逻辑失效:keyboard.is_pressed('ctrl,alt')这种逗号分隔的写法不被支持,该函数无法通过这种方式识别多键同时按下。

下面给你两种可行的解决方式:

方式一:修正轮询检测逻辑

直接分开检查Ctrl和Alt的按压状态,同时加上刷新100次的逻辑,再加个标志位避免按住组合键时重复触发:

import pyautogui
import keyboard
import time

# 标志位,防止重复触发
triggered = False

while True:
    try:
        # 同时检测Ctrl和Alt是否按下
        if keyboard.is_pressed('ctrl') and keyboard.is_pressed('alt'):
            if not triggered:
                print('Ctrl+Alt已按下,开始刷新100次')
                # 循环执行100次刷新
                for _ in range(100):
                    pyautogui.hotkey('f5')
                    # 加小延迟避免刷新过快导致异常
                    time.sleep(0.1)
                triggered = True
        else:
            # 松开组合键后重置标志位
            triggered = False
    except KeyboardInterrupt:
        # 按Ctrl+C可终止程序
        break

方式二:使用热键注册(更稳定)

用keyboard.add_hotkey直接注册Ctrl+Alt组合键的触发事件,这种方式不需要轮询,效率更高也更可靠:

import pyautogui
import keyboard
import time

def refresh_100_times():
    print('开始刷新100次')
    for _ in range(100):
        pyautogui.hotkey('f5')
        time.sleep(0.1)

# 注册Ctrl+Alt组合键的触发事件
keyboard.add_hotkey('ctrl+alt', refresh_100_times)

# 保持程序运行,按Esc键退出
keyboard.wait('esc')

额外提示

  • 运行前确保已安装依赖库,没装的话执行pip install pyautogui keyboard即可。
  • time.sleep(0.1)是为了避免短时间连续发送F5导致系统或浏览器卡顿,你可以根据实际需求调整延迟时长。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:27:32