Posso ativar Alt + Tab quando uma tecla é pressionada

Posso ativar Alt + Tab quando uma tecla é pressionada

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

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 simAltTabmais do que qualquer alternativa. O problema é:

AltTabe ShiftAltTabsã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 Ifdeclaraçã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 AltTabno 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)

informação relacionada