Autohotkeys não reconhecem o Google Chrome Windows. O que eu posso fazer?

4

Estou criando uma tecla de atalho em autobotões, para ativar o Google Chrome ou alternar entre todas as janelas do Chrome.

O HotKey é Win + H (h significando http).

Se o usuário pressionar Win + Deslocar + H , ele abre uma nova janela do Chrome

Se o usuário pressionar Win + H duas vezes, ele se moverá entre todas as janelas do Chrome:

Atualização: Veja o script completo na parte inferior. Obrigado a todos:

O problema é que o AutoHotKeys não consegue encontrar a classe do chrome, por isso é sempre abrir uma nova janela:

Esta função sempre retorna falso: If WinExist ahk_class Chrome_WidgetWin_1

Por favor, informe.

o arquivo de script:

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

Eu encontrei o bug.

Há um bug com a função ifWinExist nesta versão do AutoHotkeys e no Google Chrome. O usuário pode usar;

WinActivate ahk_class Chrome_WidgetWin_1

mas não pode usar:

If WinExist ahk_class Chrome_WidgetWin_1

É sempre falso!

Espero que esta questão e responda a ajuda a alguém (não posso escrever resposta, porque tenho apenas 1 ponto de reputação)

Atualização: Este é o código-fonte ahk, por Win + n Abra o Bloco de Notas ou alterne entre os blocos de notas abertos.

+ Deslocamento + n Abrir novo bloco de notas.

Win + c Abra o cmd.exe ou alterne entre janelas do console.

Win + Deslocar + c Abrir nova consola.

Win + h Abra o Google Chrome ou alterne entre as janelas do Chrome + Deslocar + h Abrir novo navegador.

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
    
por Shluch 12.02.2013 / 20:24

2 respostas

2

Eu só uso o nome (desde que o Google alterou o nome da turma). Aqui está um exemplo em AHK_L que eu uso.

SetTitleMatchMode, 2

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

Experimente o Chrome_WidgetWin_0.
Se isso não funcionar, descubra qual é a sua classe real usando o WinGet

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


você também pode tentar pesquisar por nome

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


Você ainda pode se referir a este pergunta se tudo mais falhar.

    
por 12.02.2013 / 20:35