1

Я хотел бы создать новое окно Chrome со следующим скриптом AutoHotKey:

#c::
  Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--profile-directory=Default",,,PID
  WinWait New Tab
  WinMove, New Tab,, 225,40, 1400, 900
  #WinActivateForce
  WinActivate, ahk_pid %PID%
return

Хотя Chrome всегда работает должным образом, это не позволяет надежно активировать только что созданное окно Chrome: иногда оно активируется, иногда нет (первоначальная программа фокусировки остается активной, а иногда просто диспетчер программ / рабочий стол). Иногда это помещается сверху MS Word (или другого программного обеспечения MS), иногда это не помещается сверху.

Это просто ненадежно. Даже если я добавлю скрипт в WinActivate , он не будет надежно активировать окно:

#c::
  Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--profile-directory=Default",,,PID
  WinWait New Tab
  WinActivate, ahk_pid %PID%
  WinMove, New Tab,, 225,40, 1400, 900
  WinActivate, ahk_pid %PID%
  #WinActivateForce
  WinActivate, ahk_pid %PID%
return

Добавление различных операторов Sleep также не решает проблему:

#c::
  Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--profile-directory=Default",,,PID
  WinWait New Tab
  WinActivate, ahk_pid %PID%
  WinMove, New Tab,, 225,40, 1400, 900
  WinActivate, ahk_pid %PID%
  Sleep, 1000
  #WinActivateForce
  WinActivate, ahk_pid %PID%
return

Как надежно активировать созданное мной окно Chrome?

1 ответ1

0

Откройте приложение AHK, щелкните правой кнопкой мыши на значке в области уведомлений и выберите «Открыть», и отобразится консоль быстрого доступа. Запустите ярлык, затем нажмите на консоль и нажмите F5 чтобы увидеть, что делает AHK.

Например, когда я запускаю ваш ярлык с новой версией Chrome, он зависает и ничего не работает. Оказывается, новая установка по умолчанию на страницу входа в учетные записи Google. Так что New Tab нет, и AHK сидит там и ждет ее ...

AHK Status

Итак, в приведенном выше примере вы можете увидеть несколько попыток запустить модифицированную версию вашего ярлыка. Они завершаются последним выполненным оператором Return . Но когда я перезагружаю стартовую страницу на что-то еще, AHK застревает в команде WinWait показанной выше, с красной стрелкой.

НТН

РЕДАКТИРОВАТЬ: так как Chrome добавляет имя приложения в конце каждой вкладки, лучший способ указать на окно может использовать частичный поиск, как показано здесь.

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