
Preciso poder ativar e desativar Alt + Tab. Existe uma maneira de fazer isso via AHK. Eu sei como desativá-lo, mas acho que reverter isso não é possível.
Eu desativo o usuário!Tab::Return
Responder1
HáIf
. Em geral, você pode usá-lo para executar algum código condicionalmente. Uma ideia simples é enviar Alt+ Tabou nada, dependendo de alguma condição.
Mas desde que enviei Alt+Tab é problemático, você quer simAltTab
mais do que qualquer alternativa. O problema é:
AltTab
eShiftAltTab
são dois dos comandos especiais que só são reconhecidos quando usados na mesma linha que uma tecla de atalho.
Eles não são reconhecidos dentro da If
declaração.
Felizmente também existe#If
:
#If
é posicional: afeta todas as teclas de atalho e hotstrings fisicamente abaixo dele no script. […] Para desligar a sensibilidade ao contexto, especifique#If
[…] mas omita todos os parâmetros.
Dessa forma, podemos aplicar condicionalmente sua forma conhecida de desabilitar a chave e nem precisamos AltTab
no script:
#If (GetKeyState("ScrollLock", "T"))
!Tab:: Return
+!Tab:: Return ; to disable Shift+Alt+Tab as well
#If
Agora ScrollLocké como "AltTabLock". Ele bloqueia Alt+ Tab.
Ajuste a condição às suas necessidades. Uma variável pode ser útil. Por exemplo, isso criará F10a tecla de alternância:
#If (disable==1)
!Tab:: Return
+!Tab:: Return
#If
F10:: disable:=NOT(disable)