我尝试Win+1在 Windows XP 上定义启动某些应用程序,但不希望在 Win7+ 上出现这种行为。我该怎么做?
以下代码片段也会导致 Windows 7 显示“在 Win 5.x 上触发”框。出了什么问题?
#If, A_OSVersion in WIN_2003, WIN_XP, WIN_2000
#1::
MsgBox Trigger on Win 5.x
return
#If
Autohotkey 版本 1.1.13.01
答案1
更新: #If [, Expression ]
表达式不支持运算符“between”、“is”、“in”和“contains”。
我把它改成了
#1::
If A_OSVersion in WIN_2003,WIN_XP,WIN_2000
MsgBox Trigger on Win 5.x
return
注意:没有空格WIN_2003,WIN_XP,WIN_2000
Windows 7 上不显示消息框
答案2
我想我已经明白了。Autohotkey 的#If
文档提供了条件可以是函数的示例,因此以下代码有效:
IsWin5x()
{
if A_OSVersion in WIN_2003,WIN_XP,WIN_2000
{
return 1
}
else
{
return 0
}
}
#If IsWin5x()
#1::
MsgBox Trigger on Win 5.x
return
#If
Win+1适用于 WinXP,并Win+1在 Win7 上保留其原有的功能。