Comment puis-je utiliser Autohotkey pour se concentrer sur un onglet Google Chrome existant, pas sur une fenêtre "conteneur"?
Détails
Google Chrome semble représenter chaque fenêtre avec une poignée de fenêtre de conteneur, qui contient un ou plusieurs onglets. Les onglets (au moins celui en cours) ont leur propre poignée de fenêtre. Les poignées de fenêtre d'onglet ont des titres de fenêtre (qui se terminent actuellement tous par "- Google Chrome"), contrairement à la poignée de fenêtre de conteneur elle-même. Le code de clé automatique suivant ne fonctionne pas comme prévu pour Google Chrome:
^+i::
if WinExist("ahk_class Chrome_WidgetWin_0")
WinActivate
else
Run "C:\Users\vleeshue\AppData\Local\Google\Chrome\Application\chrome.exe"
return
Cette liaison se concentrera sur une fenêtre Google Chrome si elle existe ou exécutera Google Chrome. Cependant, il ciblera souvent la fenêtre du conteneur (dans Window Spy, le titre de la fenêtre est vide). L'activation de la fenêtre de conteneur interdit l'utilisation des raccourcis clavier de Google Chrome. Les raccourcis clavier inaccessibles incluent le tout important ctrl + l pour accéder à l'omnibar. Comme je n'ai pas encore trouvé de moyen d'activer systématiquement la fenêtre d'onglet au lieu de la fenêtre de conteneur, ma solution consiste à utiliser la souris, mais je préférerais éviter cela si possible.
Captures d'écran de Windows Spy
Contexte
Version actuelle de Google Chrome: 5.0.317.2 dev
Une liaison autohotkey courante que j'utilise est un raccourci clavier pour concentrer une application spécifique si elle est déjà en cours d'exécution ou pour exécuter l'application si elle ne fonctionne pas.
Par exemple, j'utilise ceci pour foobar2000
^+m::
If WinExist("foobar2000")
WinActivate
else
Run "C:\Program Files (x86)\foobar2000\foobar2000.exe"
return
la source
Solution de contournement en utilisant Alt + Tab:
Ajustez les arguments selon vos besoins. SetKeyDelay utilisé car l'envoi trop rapide ne fonctionne pas.
la source
Vous voudrez peut-être envisager d'utiliser une extension Chrome au lieu d'AutoHotkey. Les extensions peuvent accéder à tous les onglets ouverts, y compris l' URL et la possibilité de changer le focus des onglets. Sinon, vous devrez probablement utiliser les fonctionnalités d' accessibilité de Chrome pour interroger la fenêtre active. Je pense que c'est ainsi que des programmes comme RescueTime suivent l'URL active. Par exemple, l'utilisation de l'Observateur d'événements accessible (AccEvent) du SDK Windows 7 affiche les événements suivants lors du changement d'onglets dans Chrome:
la source
si vous voulez trouver un onglet de chrome, vous pouvez l'utiliser
puisque dans Chrome tout est un processus, vos onglets sont également des processus.
la source
Window Spy renvoie le titre de l'onglet dans le champ "Visible Window Text".
Vous pouvez faire une boucle dans les onglets jusqu'à ce que vous trouviez le texte souhaité. Pour passer d'un onglet à l'autre, envoyez les touches CTRL+ TAB. Le problème serait de s'arrêter à un moment donné mais si vous savez que vous n'utilisez pas plus de X onglets au maximum, vous pouvez inclure un compteur dans la boucle pour rompre à un moment donné si l'onglet souhaité n'est pas trouvé.
la source
Il semble y avoir un bogue avec la fonction WinActivate dans AutoHotkey. ( http://productivegeek.com/forums/topic/autohotkey-problem-restoring-minimized-window-and-giving-keyboard-focus )
Donc, au lieu de la ligne WinActivate, utilisez
la source
la source
Voyez si cela vous aide ou vous donne plus d'idées. Je n'utilise aucun des éléments ci-dessus.
la source
Cette fonction AHK active un onglet Google Chrome s'il existe et renvoie true. Sinon, il retournera faux.
la source