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

AHK如何绑定按住/点击按键实现红点脚本的启停与暂停功能

AHK屏幕红点脚本升级实现

已实现需求

  • 支持自定义绑定键盘/鼠标按键,按下即可切换红点的显示、隐藏状态
  • 按下除绑定触发按键外的任意按键,自动暂停脚本运行,同时隐藏红点

完整代码

; 红点参数配置区
x := A_ScreenWidth // 2  ; 自动取屏幕水平中心坐标,可替换为固定数值如840
y := A_ScreenHeight // 2 ; 自动取屏幕垂直中心坐标,可替换为固定数值如525
w := 3    ; 红点宽度
h := 3    ; 红点高度
Color := 0xFF0000 ; 红点颜色,默认红色
WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000

; 触发按键配置,可自行修改为目标按键
; 常见按键标识:XButton1(鼠标后退侧键)、XButton2(鼠标前进侧键)、MButton(鼠标中键)、F1-F12(功能键)
TriggerKey := "F2"

; 红点GUI初始化,默认隐藏
Gui +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui Color, % Color
WinSet ExStyle, % "+" WS_EX_LAYERED | WS_EX_TRANSPARENT
RedDotVisible := false

; 注册触发按键热键
Hotkey, % TriggerKey, ToggleRedDot

; 全局按键监听,按下任意非触发键则暂停脚本
KeyListener := InputHook("V I1")
KeyListener.KeyOpt(TriggerKey, "E") ; 排除触发按键,按下触发键不触发暂停
KeyListener.OnChar := Func("PauseRun")
KeyListener.OnKeyDown := Func("PauseRun")
KeyListener.Start()
return

; 切换红点显示状态逻辑
ToggleRedDot:
    RedDotVisible := !RedDotVisible
    if (RedDotVisible) {
        Gui Show, x%x% y%y% w%w% h%h% NA
    } else {
        Gui Hide
    }
return

; 暂停脚本逻辑
PauseRun(*) {
    global RedDotVisible
    ; 隐藏红点
    if (RedDotVisible) {
        Gui Hide
        RedDotVisible := false
    }
    ; 暂停脚本,需要恢复可右键托盘AHK图标选择恢复
    Pause, On
}

自定义调整说明

  • 调整红点参数:直接修改参数配置区的坐标、宽高、颜色数值即可
  • 修改触发按键:修改TriggerKey := "F2"行中引号内的按键标识即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:54:02