Autohotkeys ne reconnaît pas Google Chrome Windows. Que puis-je faire?


4

Je crée un raccourci clavier dans autohotkeys pour activer Google Chrome ou pour passer d'une fenêtre à l'autre.

La touche de raccourci est Gagner + H (h signifie http).

Si l'utilisateur appuie sur Gagner + Décalage + H il ouvre une nouvelle fenêtre chromée

Si l'utilisateur appuie sur Gagner + H deux fois, il se déplace entre toutes les fenêtres chromées:

Mettre à jour: Voir le script complet en bas. Merci tout le monde:

Le problème est qu'AutoHotKeys ne peut pas trouver la classe de chrome, elle est donc toujours ouverte dans une nouvelle fenêtre:

Cette fonction renvoie toujours false: If WinExist ahk_class Chrome_WidgetWin_1

S'il vous plaît donnez votre avis.

le fichier de script:

#h::
SetTitleMatchMode, 2
If WinExist ahk_class Chrome_WidgetWin_1
{
ifWinActive
WinActivatebottom ,Chrome_WidgetWin_1
else
WinActivate 
return
}
run chrome.exe

J'ai trouvé le bug.

Il y a un bogue avec la fonction ifWinExist dans cette version d'AutoHotkeys et Google Chrome. L'utilisateur peut utiliser;

WinActivate ahk_class Chrome_WidgetWin_1

mais ne peut pas utiliser:

If WinExist ahk_class Chrome_WidgetWin_1

C'est toujours faux!

J'espère que cette question répondra à quelqu'un (je ne peux pas écrire de réponse, car je n'ai qu'un point de réputation)

Mettre à jour: Ceci est ahk code source, pour Gagner + n Bloc-notes ouvert ou commutation entre les blocs-notes ouverts.

+ Décalage + n Ouvrez le nouveau bloc-notes.

Gagner + c Ouvrez cmd.exe ou basculez entre les fenêtres de la console.

Gagner + Décalage + c Ouvrir une nouvelle console.

Gagner + h Ouvrez Google Chrome ou passez d’une fenêtre à l’autre. + Décalage + h Ouvrir un nouveau navigateur.

SetTitleMatchMode, 2


;********command line
#c::
IfWinExist ,cmd.exe
{
ifWinActive
WinActivatebottom ,cmd.exe
else
WinActivate
return
}
#+c::
run cmd.exe
return

;******************Chrome
#h::
IfWinExist ,Chrome
    {
    ifWinActive
        {
        WinActivatebottom ,Chrome
    }
    else
    {
        WinActivate
    }
    return
}

#+h::
run "chrome"
return 
;**************Notepad
#n::
IfWinExist ,Notepad
    {
    ifWinActive
        {
        WinActivatebottom ,Notepad
    }
    else
    {
        WinActivate
    }
    return
}

#+n::
run "notepad"
return

Quel est le problème exactement? S'il vous plaît paraphraser.

Cette fonction renvoie toujours false: IfWinExist ahk_class Chrome_WidgetWin_1
Shluch

Réponses:


2

J'utilise uniquement le nom (car Google a déjà changé le nom de la classe). Voici un exemple dans AHK_L que j'utilise.

SetTitleMatchMode, 2

#ifWinActive, Chrome
    NumpadIns::Send, {Click}
    NumpadRight::Send, ^{PgDn} ; Right arrow = activate next Tab
    NumpadLeft::Send, ^{PgUp} ; Left arrow = activate previous tab
#ifWinActive

1

Essayez Chrome_WidgetWin_0.
Si cela ne fonctionne pas, découvrez ce que c'est que la vraie classe en utilisant WinGet

WinGet,activeId,ID,A  <- gives active window ahk_id
WinGetClass, activeClass, ahk_id %activeId%


vous pouvez aussi essayer de chercher par nom

SetTitleMatchMode, 2
WinGetTitle, OutputVar , Chrome <- type the name of the chrome window ( probably contains chrome)


Vous pouvez toujours vous référer à cette question si tout le reste échoue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.