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

如何在AHK中显示屏幕文本?Win键开关状态提示脚本改造需求

解决AHK Win键状态动态提示的问题

嘿,我完全懂你的需求——作为非程序员,能用AHK解决日常问题已经很棒了!你需要的动态状态提示其实用AHK自带的ToolTip函数就能轻松实现,不用复杂的GUI。我帮你修改了脚本,既能保留你原有的功能,又能在状态变化时弹出临时提示,还会自动消失:

; 初始化状态变量:默认Win键禁用(对应CapsLock未开启时的状态)
winKeyState := "禁用"

; 原有的PrintScreen功能:发送Win+PrintScreen
PrintScreen::
    Send #{PrintScreen}
return

; 监听CapsLock状态变化,同步更新Win键状态提示
CapsLock::
    ; 保留CapsLock原有的开关功能
    Send {CapsLock}
    ; 获取当前CapsLock的激活状态
    if GetKeyState("CapsLock", "T") {
        winKeyState := "启用"
        ; 在屏幕右下角弹出提示,3秒后自动消失
        ToolTip, Win键已%winKeyState%, A_ScreenWidth-150, A_ScreenHeight-80, 1
        SetTimer, HideToolTip, -3000
    } else {
        winKeyState := "禁用"
        ToolTip, Win键已%winKeyState%, A_ScreenWidth-150, A_ScreenHeight-80, 1
        SetTimer, HideToolTip, -3000
    }
return

; 隐藏提示的辅助函数
HideToolTip:
    ToolTip, , , 1
return

; 原有的Win键逻辑:根据CapsLock状态决定功能
#If GetKeyState("CapsLock", "T")
    LWin::Send #{PrintScreen}
    RWin::Send #{PrintScreen}
#If
    LWin::Return
    RWin::Return

关键部分说明(都是简单的参数调整,不用懂代码也能改)

  • 状态跟踪:winKeyState变量用来记录当前Win键的状态,会自动随CapsLock的开关更新
  • 临时提示:ToolTip会在屏幕右下角弹出文本,SetTimer, HideToolTip, -3000表示3秒后自动隐藏(把3000改成5000就是5秒)
  • 位置自定义:A_ScreenWidth-150, A_ScreenHeight-80是提示的位置,改成100,100就能移到屏幕左上角
  • 切换键修改:如果不想用CapsLock触发状态更新,把CapsLock::改成F12::(F12键)或者^PrintScreen::(Ctrl+PrintScreen)就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:14:21