Я создаю горячую клавишу в автоматических клавишах, чтобы активировать Google Chrome или перемещаться между всеми окнами Chrome.
Горячая клавиша - Win + H (h означает http).
Если пользователь нажимает Win + Shift + H, он открывает новое окно Chrome
Если пользователь нажимает Win + H дважды, он перемещается между всеми окнами Chrome:
Обновление: см. Полный сценарий внизу. Всем спасибо:
Проблема в том, что AutoHotKeys не может найти класс Chrome, поэтому всегда открывается новое окно:
Эта функция всегда возвращает false:If WinExist ahk_class Chrome_WidgetWin_1
Пожалуйста, порекомендуйте.
файл сценария:
#h::
SetTitleMatchMode, 2
If WinExist ahk_class Chrome_WidgetWin_1
{
ifWinActive
WinActivatebottom ,Chrome_WidgetWin_1
else
WinActivate
return
}
run chrome.exe
Я нашел ошибку.
В этой версии AutoHotkeys и Google Chrome есть ошибка с функцией ifWinExist. Пользователь может использовать;
WinActivate ahk_class Chrome_WidgetWin_1
но не может использовать:
If WinExist ahk_class Chrome_WidgetWin_1
Это всегда ложь!
Надеюсь, что этот вопрос и ответ поможет кому-то (я не могу написать ответ, потому что у меня только 1 очко репутации)
Обновление: это исходный код, для Win + n Open Notepad или переключения между открытыми блокнотами.
+ Shift + n Открыть новый блокнот.
Win + c Откройте cmd.exe или переключайтесь между консольными окнами.
Win + Shift + C Открыть новую консоль.
Win + h Откройте Google Chrome или переключайтесь между окнами Chrome + Shift + H Открыть новый браузер.
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