如何在AutoHotKey脚本中使用'或'?
我一直在浏览AutoHotKey documentation,我没有看到如何在上下文特定的热键中使用'或'的明确用法。在我的设置中,Cygwin将使用ahk_class cygwin(当我使用上下文菜单)或mintty(当我直接使用.bat或exe时)启动。如何在AutoHotKey脚本中使用'或'?
目前,我重复热键成两个独立的模块,
#IfWinActive ahk_class cygwin
...
#IfWinActive
#IfWinActive ahk_class mintty
...
#IfWinActive
有没有办法把它们结合起来?我已经尝试过:
#IfWinActive ahk_class cygwin ahk_class mintty
#IfWinActive ahk_class || cygwin ahk_class mintty
#IfWinActive ahk_class or cygwin ahk_class mintty
#IfWinActive ahk_class cygwin || #IfWinActive ahk_class mintty
#IfWinActive ahk_class cygwin or #IfWinActive ahk_class mintty
#IfWinActive (ahk_class cygwin or ahk_class mintty)
#IfWinActive (ahk_class cygwin || ahk_class mintty)
#IfWinActive ahk_class cygwin|mintty
#IfWinActive ahk_class cygwin||mintty
...并且这些都不起作用。 This post指出这可以通过组来完成,但我正在寻找一种方法将它们组合在一个语句中。
您也可以尝试下面,我测试,这是为我工作(AutoHotkey的v1.1.14.01):
SetTitleMatchMode, REGEX
#IfWinActive (cygwin)|(mintty)
它使用正则表达式的内置或机制。由于某些原因,我无法让团队工作。
我有类似的问题。这似乎对我有效。谢谢。 – Harshal 2015-04-02 06:35:33
你可以试试这个:这是我用常规IF语句做这件事的方法。
#IfWinActive (ahk_class cygwin or ahk_class mintty)
这似乎并没有工作,要么。我将它添加到上面的“试用”列表中。 – Ehryk 2013-02-23 20:43:50
@Ehryk,这是值得一试.... – 2013-02-23 20:44:42
好吧,我记得,看到一个其他例子后:定义与多个ahk_class条目的组名.. ..
GroupAdd, GroupName, ahk_class ExploreWClass
GroupAdd, GroupName, ahk_class CabinetWClass
#IfWinActive ahk_group GroupName
好的,最后一个(和测试)。
#If WinActive("ahk_class ExploreWClass") || WinActive("ahk_class CabinetWClass")
哦b.t.w.我使用AutoHotKey_L,它支持#If!
我的上一个建议是否解决了您的问题? – 2013-02-26 16:12:58
我知道这个问题已经过时,但对于那些谁正在寻找解决这一
#if WinActive("ahk_class cygwin") or WinActive("ahk_class mintty")
工作。
复制它们有什么问题? – 2013-02-23 18:43:01
如果我添加一个快捷方式,我必须记得添加两次。如果它不仅仅是“两次”,这可能会很麻烦,而且不雅,我正在寻找一种解决方法。 – Ehryk 2013-02-23 20:13:36