1.什么是上下文热键?
简单的说就是局部热键或者条件热键。
2.意义是什么?
- 不同应用环境下同一个热键执行不同操作
- 不同时间下同一个热键执行不同操作
- ……
- 特殊条件下热键生效
- 更高明的注释方法
3.代码示例
#IfWinActive/Exist 和 #If 指令可以用来让热键根据不同的条件执行不同的动作(或什么都不做). 例如:
;示例一 滚动滚轮.
#If MouseIsOver("ahk_class Shell_TrayWnd")
WheelUp::Send {Volume_Up}
WheelDown::Send {Volume_Down}
#If
#If WinActive("ahk_class HwndWrapper[CamtasiaStudio.exe;;2b2eb058-f92b-4fb1-8a8b-a61744b4d9b6]")
WheelUp::MsgBox,你滚动向上
WheelDown::WinMinimize,ahk_class HwndWrapper[CamtasiaStudio.exe;;2b2eb058-f92b-4fb1-8a8b-a61744b4d9b6]
#If
MouseIsOver(WinTitle)
{
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}
;示例二 随时变化的热键
Toggle1:=A_Hour//3
#If !Toggle
a::
MsgBox,我是2!
return
#If
;示例三 可以开关的热键
Toggle:=true
#If Toggle
a::
MsgBox,我是3!
return
#If
F12::
Toggle:=false
return
F6::
Toggle:=true
return
;示例四 高级注释
#If 0
!a::MsgBox,我是4!
#if
4.工具
暂无讨论,说说你的看法吧