Comment puis-je revenir au focus sur la fenêtre précédente?

2

J'ai un script Autohotkey qui ouvre et ferme une ligne de commande contextuelle semblable au menu déroulant de la console Quake. Cependant, lorsque je le ferme, il se concentre sur la barre des tâches. Comment puis-je plutôt retourner le focus dans la fenêtre supérieure de la pile?

SaintWacko
la source
ajouter un ALT final + Tab?
Olivier Dulac
@OlivierDulac J'ai essayé ça, ça le prend à la seconde fenêtre dans la pile. Je suppose que je pourrais faire deux alt-tabs, mais c'est un vilain kludge.
SaintWacko

Réponses:

0

Au lieu de alt languette , utilisation décalage alt languette . Cela vous ramène au programme de focus précédent, au lieu du suivant.

John Siu
la source
Cela me mène à la fenêtre du bas dans la pile.
SaintWacko
Ensuite, essayez alt-tab, puis shift-alt-tab. Mais il semble que ce sera plus rapide d’utiliser la souris pour cliquer sur le programme dans la barre des tâches.
John Siu
C'est exactement pourquoi je cherche quelque chose à mettre dans le script AHK pour y revenir.
SaintWacko
Dans votre script AHK, pouvez-vous utiliser WinGetActiveTitle pour obtenir la fenêtre active avant d’ouvrir la fenêtre contextuelle, utilisez ensuite WinActivate pour revenir après?
John Siu
0
WinGet, ActiveId, ID, A
WinWaitNotActive, ahk_id %ActiveId%
WinActivate, ahk_id %ActiveId%
GENiEBEN
la source
Le seul problème avec cela est que ma fenêtre de console est configurée pour rester au-dessus et est semi-transparente, ce qui me permet de continuer à travailler sur d'autres fenêtres tant qu'elle est ouverte. De ce fait, la fenêtre qui se trouve en haut de la pile lorsque je termine avec la console peut ne pas être la même que celle qui était active lorsque je l'ai ouverte.
SaintWacko
J'espère un moyen d'accéder à l'API Windows et d'obtenir l'ID de la fenêtre en haut de la pile.
SaintWacko