比如我平常是屏蔽F1按键的,在Edge浏览器、Excel里等怕误按
但是打Dota时又需要用到F1
AHK2不能用#IfWinNotActive
了,我尝试用下面这段代码,但发现根本不是我想要的效果
if WinActive(“ahk_exe dota2.exe”) {
}
else {
F1:: return
}
比如我平常是屏蔽F1按键的,在Edge浏览器、Excel里等怕误按
但是打Dota时又需要用到F1
AHK2不能用#IfWinNotActive
了,我尝试用下面这段代码,但发现根本不是我想要的效果
if WinActive(“ahk_exe dota2.exe”) {
}
else {
F1:: return
}
你应该看看V2文档。这是基础且浅显的规则,很容易找到。
这不是有嘛,hotifwinnotactive
看了示例也不明白,咋就不对呢?
HotIfWinNotActive “ahk_exe dota2.exe”
Hotkey “F1”, “Off”
看了,没明白啊 感觉一点也不浅显易懂
#HotIf !WinActive("ahk_exe dota2.exe")
f1:: return
#HotIf
额,禁用热键的前提是你在脚本里设置了这个热键。
你应该这么写:
HotIfWinNotActive "ahk_exe dota2.exe"
Hotkey "f1", MyFuncFordota2else
MyFuncFordota2else(){
;屁都不用干
}
仔细看了下,还是楼上写法ok,用HotIfWinNotActive的话是个动态热键,你还的再写一段HotIfWinActive “ahk_exe dota2.exe” 来禁用热键。
按照楼主的需求,
应当是在DOTA里面禁用F1,
所以 WinActive 的前面不需要感叹号 ! :
#HotIf WinActive("ahk_exe dota2.exe")
F1:: return
#HotIf
另外,建议楼主 先阅读一下 AutoHotkey 帮助的“常见问题”,
很多常见问题都可以在这里面找到答案:
反了 恰恰是在dota里需要使用F1
感觉AHK的文档和语法好奇怪啊,比如说看你们的代码最后面还有个#HotIf,在@dog 给的文档里就没有这样用