¿Puedo habilitar Alt + Tab cuando se presiona una tecla?

¿Puedo habilitar Alt + Tab cuando se presiona una tecla?

Necesito tener la capacidad de activar y desactivar Alt + Tab. ¿Hay alguna manera de hacerlo a través de AHK? Sé cómo desactivarlo, pero creo que revertirlo no es posible.

lo deshabilito usuario!Tab::Return

Respuesta1

HayIf. En general, puedes usarlo para ejecutar condicionalmente algún código. Una idea sencilla es enviar Alt+ Tabo nada, dependiendo de alguna condición.

Pero desde que envié Alt+Tab es problemático, quieres más bienAltTabmás que cualquier alternativa. El problema es:

AltTaby ShiftAltTabson dos de los comandos especiales que sólo se reconocen cuando se usan en la misma línea que una tecla de acceso rápido.

No se reconocen dentro del Ifcomunicado.

Afortunadamente también existe#If:

#Ifes posicional: afecta a todas las teclas de acceso rápido y cadenas de acceso físicamente debajo de él en el script. […] Para desactivar la sensibilidad al contexto, especifique #If[…] pero omita todos los parámetros.

De esta manera podemos aplicar condicionalmente su forma conocida de desactivar la clave y ni siquiera la necesitamos AltTaben el script:

#If (GetKeyState("ScrollLock", "T"))
   !Tab:: Return
   +!Tab:: Return   ; to disable Shift+Alt+Tab as well
#If

Ahora ScrollLockes como "AltTabLock". Se bloquea Alt+ Tab.

Ajuste la condición a sus necesidades. Una variable puede resultar útil. Por ejemplo, esto hará que F10la tecla de alternancia:

#If (disable==1)
   !Tab:: Return
   +!Tab:: Return
#If
F10:: disable:=NOT(disable)

información relacionada