Мне нужен скрипт Autohotkey, который запускает новый экземпляр Chrome и выводит это новое окно на передний план (активное окно).

Мой сценарий:

#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinActivate, Google ; Window title is "Google"

Вот что происходит: если перед активацией горячей клавиши какое-либо произвольное окно находится в фокусе, экземпляр браузера запускается в фоновом режиме, а это не то, что мне нужно. Однако, если рабочий стол или панель задач имеют фокус, то мое новое окно Chrome выходит на первый план, как я хочу.

1 ответ1

2

Скорее всего, WInactivate не работает, потому что вам нужно добавить SetTitleMatchMode, 2 вверху вашего скрипта. Чтобы проверить, действительно ли работает WinActivate, используйте это:

SetTitleMatchMode, 2
#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinWait, google ;Give Chrome a chance to start before testing
IfWinExist, google
{
    WinActivate, google ; Window title is "Google"
    MessageBox, OK
}
Return

Если вы НЕ видите сообщение ОК, ваш Winactivate все еще ждет правильного заголовка. Если вы уверены, что это работает, вы можете вернуться к:

SetTitleMatchMode, 2
#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinWait, google ;Give Chrome a chance to start before testing
WinActivate, google ; Window title is "Google"
Return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .