Wie kann ich mit Autohotkey auf einen vorhandenen Google Chrome-Tab und nicht auf ein "Container" -Fenster fokussieren?
Einzelheiten
Google Chrome scheint jedes Fenster mit einem Containerfenster-Handle darzustellen, das eine oder mehrere Registerkarten enthält. Die Registerkarten (mindestens die aktuelle) haben ein eigenes Fensterhandle. Die Tab-Fenster-Handles haben Fenstertitel (die derzeit alle auf "- Google Chrome" enden), während das Container-Fenster-Handle dies nicht tut. Der folgende Autohotkey-Code funktioniert nicht wie für Google Chrome vorgesehen:
^+i::
if WinExist("ahk_class Chrome_WidgetWin_0")
WinActivate
else
Run "C:\Users\vleeshue\AppData\Local\Google\Chrome\Application\chrome.exe"
return
Diese Bindung konzentriert sich auf ein Google Chrome-Fenster, sofern es vorhanden ist, oder führt Google Chrome aus. Es wird jedoch häufig auf das Containerfenster abzielen (in Window Spy ist der Fenstertitel leer). Durch Aktivieren des Containerfensters wird die Verwendung von Google Chrome-Tastaturkürzeln verboten. Die Tastenkombinationen, auf die nicht zugegriffen werden kann, enthalten alle wichtigen Tastenkombinationen für den Zugriff auf das Omnibar. Da ich noch keine Möglichkeit gefunden habe, das Registerkartenfenster anstelle des Containerfensters durchgängig zu aktivieren, kann ich dieses Problem umgehen, indem ich die Maus verwende. Ich würde es jedoch vorziehen, dies nach Möglichkeit zu vermeiden.
Windows Spy Screenshots
Hintergrund
Aktuelle Google Chrome-Version: 5.0.317.2 dev
Eine gebräuchliche Autohotkey-Bindung, die ich verwende, ist eine Tastenkombination, um eine bestimmte Anwendung zu fokussieren, wenn sie bereits ausgeführt wird, oder um die Anwendung auszuführen, wenn sie nicht ausgeführt wird.
Zum Beispiel verwende ich dies für foobar2000
^+m::
If WinExist("foobar2000")
WinActivate
else
Run "C:\Program Files (x86)\foobar2000\foobar2000.exe"
return