7

AutoHotKeyのドキュメントを閲覧していますが、コンテキスト固有のホットキーで「または」を使用する方法が明確に使用されていません。私のセットアップでは、Cygwinはahk_class cygwin(コンテキストメニューを使用する場合)またはmintty(.batまたはexeを直接使用する場合)のいずれかで起動します。

現在、ホットキーを2つの別々のブロックに複製しています。

#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 

...そしてこれらはどれも機能していないようです。この投稿では、これはグループで達成できると述べていますが、私はそれらを1つのステートメントにまとめる方法を探しています。

4

6 に答える 6

9

OK、最後の1つ(そしてテスト済み)。

#If WinActive("ahk_class ExploreWClass") || WinActive("ahk_class CabinetWClass")

ところで、私は#IfをサポートするAutoHotKey_Lを使用しています!

于 2013-02-24T07:26:22.003 に答える
8

了解しました。他の例を見た後、覚えています。複数のahk_classエントリを使用してGroupNameを定義します。

GroupAdd, GroupName, ahk_class ExploreWClass
GroupAdd, GroupName, ahk_class CabinetWClass
#IfWinActive ahk_group GroupName
于 2013-02-23T21:19:14.397 に答える
4

次のことも試すことができます。テストしたところ、機能していました(AutoHotkey v1.1.14.01)。

SetTitleMatchMode, REGEX

#IfWinActive (cygwin)|(mintty)

これは、正規表現の組み込みORメカニズムを使用します。なんらかの理由でグループを動かすことができませんでした。

于 2014-06-20T16:29:26.407 に答える
4

私は質問が時代遅れであることを知っています、しかしこれに対する解決策を探している人のために

#if WinActive("ahk_class cygwin") or WinActive("ahk_class mintty") 

仕事中。

于 2014-11-10T13:27:37.320 に答える
-1

これを試してみてください:これは、通常のIFステートメントでこれを行う方法です。

#IfWinActive (ahk_class cygwin or ahk_class mintty)
于 2013-02-23T19:06:04.853 に答える
-1

この形式を使用する例を見つけました:

#IfWinActive ahk_class ExploreWClass|CabinetWClass

参照:最高のAutoHotKeyマクロ?

于 2013-02-23T20:50:32.657 に答える