如何在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
相关产品推荐
相关产品推荐

