Autohotkeys tidak dapat mengenali Google Chrome Windows. Apa yang dapat saya?


4

Saya membuat hotkey di autohotkeys, untuk mengaktifkan Google Chrome, atau berpindah di antara semua jendela Chrome.

HotKey itu Menang + H (h artinya http).

Jika pengguna menekan Menang + Bergeser + H itu membuka jendela chrome baru

Jika pengguna menekan Menang + H dua kali, bergerak di antara semua jendela chrome:

Memperbarui: Lihat skrip lengkap di bagian bawah. Terima kasih semuanya:

Masalahnya adalah bahwa AutoHotKeys tidak dapat menemukan kelas chrome, sehingga selalu membuka jendela baru:

Fungsi ini selalu mengembalikan false: If WinExist ahk_class Chrome_WidgetWin_1

Mohon saran.

file skrip:

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

Saya menemukan bug.

Ada bug dengan fungsi ifWinExist di versi AutoHotkeys ini, dan Google Chrome. Pengguna dapat menggunakan;

WinActivate ahk_class Chrome_WidgetWin_1

tetapi tidak bisa menggunakan:

If WinExist ahk_class Chrome_WidgetWin_1

Itu selalu salah!

Semoga pertanyaan ini & amp; jawaban membantu seseorang (saya tidak bisa menulis jawaban, karena saya hanya punya 1 poin reputasi)

Memperbarui: Ini adalah kode sumber ahk, untuk Menang + n Buka Notepad atau beralih di antara notes yang terbuka.

+ Bergeser + n Buka notepad baru.

Menang + c Buka cmd.exe atau beralih di antara jendela konsol.

Menang + Bergeser + c Buka konsol baru.

Menang + h Buka Google Chrome atau beralih di antara jendela Chrome + Bergeser + h Buka browser baru.

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

Apa sebenarnya masalahnya? Tolong parafrase.

Fungsi ini selalu menghasilkan false: IfWinExist ahk_class Chrome_WidgetWin_1
Shluch

Jawaban:


2

Saya menggunakan nama saja (karena Google pernah mengubah nama kelas). Berikut adalah contoh di AHK_L yang saya gunakan.

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

Coba Chrome_WidgetWin_0.
Jika itu tidak berhasil, cari tahu apa itu kelas nyata dengan menggunakan WinGet

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


Anda juga dapat mencoba mencari berdasarkan nama

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


Anda masih bisa merujuk ini pertanyaan jika semuanya gagal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.