
Alt + Tab のオン/オフを切り替える機能が必要です。AHK 経由でそれを実行する方法はありますか。無効にする方法は知っていますが、その逆は不可能だと思います。
私はそれを無効にします!Tab::Return
答え1
があるIf
一般的に、これを条件付きでコードを実行するために使用できます。簡単なアイデアとしては、何らかの条件に応じてAlt+を送信するか、何も送信しないというものがあります。Tab
Altしかし、 +を送信してからTab 面倒だ、あなたはむしろAltTab
他の選択肢よりも優れています。問題は次の通りです。
AltTab
および は、ShiftAltTab
ホットキーと同じ行で使用した場合にのみ認識される 2 つの特殊コマンドです。
それらはステートメント内では認識されませんIf
。
幸いなことに、#If
:
#If
位置依存です。スクリプト内で物理的にその下にあるすべてのホットキーとホットストリングに影響します。 […] コンテキスト依存をオフにするには、#If
[…] を指定しますが、すべてのパラメータを省略します。
AltTab
この方法では、キーを無効にする既知の方法を条件付きで適用することができ、スクリプトでは必要ありません。
#If (GetKeyState("ScrollLock", "T"))
!Tab:: Return
+!Tab:: Return ; to disable Shift+Alt+Tab as well
#If
今はScrollLock「AltTabLock」のようです。Alt+ をロックしますTab。
必要に応じて条件を調整します。変数が役に立つ場合があります。たとえば、F10トグル キーは次のようになります。
#If (disable==1)
!Tab:: Return
+!Tab:: Return
#If
F10:: disable:=NOT(disable)