Как использовать Autohotkey, чтобы сосредоточиться на существующей вкладке Google Chrome, а не на окне «контейнера»?
Детали
Похоже, что Google Chrome представляет каждое окно дескриптором окна контейнера, которое содержит одну или несколько вкладок. У вкладок (по крайней мере, текущей) есть свой дескриптор окна. Дескрипторы окна вкладок имеют заголовки окон (которые в настоящее время все оканчиваются на «- Google Chrome»), тогда как сам дескриптор окна контейнера - нет. Следующий код автоотключения не работает, как предназначено для Google Chrome:
^+i::
if WinExist("ahk_class Chrome_WidgetWin_0")
WinActivate
else
Run "C:\Users\vleeshue\AppData\Local\Google\Chrome\Application\chrome.exe"
return
Эта привязка будет сосредоточена на окне Google Chrome, если оно существует или будет работать Google Chrome. Однако, это часто будет предназначаться для окна контейнера (в Window Spy заголовок окна пуст). Активация окна контейнера запрещает использование сочетаний клавиш Google Chrome. Недоступные сочетания клавиш включают все важные сочетания клавиш Ctrl + l для доступа к омнибару. Поскольку я еще не нашел способ последовательно активировать окно вкладок вместо окна контейнера, мой обходной путь - использовать мышь, но я бы предпочел избегать этого, если это возможно.
Окно шпион скриншоты
Фон
Текущая версия Google Chrome: 5.0.317.2 dev
Обычно я использую привязку autohotkey для быстрого доступа к конкретному приложению, если оно уже запущено, или для запуска приложения, если оно не запущено.
Например, я использую это для foobar2000
^+m::
If WinExist("foobar2000")
WinActivate
else
Run "C:\Program Files (x86)\foobar2000\foobar2000.exe"
return
источник
Обходной путь, используя Alt + Tab:
Отрегулируйте аргументы по мере необходимости. SetKeyDelay используется, потому что слишком быстрая отправка не работает.
источник
Возможно, вы захотите использовать расширение Chrome вместо AutoHotkey. Расширения могут получить доступ ко всем открытым вкладкам, включая URL-адрес и возможность изменять фокус вкладок. В противном случае вам , вероятно , потребуется использовать Accessibility функцию в Chrome для запроса активного окна. Я считаю, что именно так программы, как RescueTime, отслеживать, что активный URL. Например, при использовании Accessible Event Watcher (AccEvent) из Windows 7 SDK отображаются следующие события при смене вкладок в Chrome:
источник
если вы хотите найти вкладку Chrome, вы можете использовать это
поскольку в chrome все является процессом, ваши вкладки также являются процессами.
источник
Window Spy возвращает заголовок вкладки в поле «Текст видимого окна».
Вы можете зацикливаться на вкладках, пока не найдете нужный текст. Чтобы переключиться с вкладки на вкладку, отправьте клавиши CTRL+ TAB. Проблема будет заключаться в том, чтобы остановиться в какой-то момент, но если вы знаете, что используете не больше X вкладок, вы можете включить счетчик в цикл, чтобы в какой-то момент его можно было остановить, если нужная вкладка не найдена.
источник
Кажется, есть ошибка с функцией WinActivate в AutoHotkey. ( http://productivegeek.com/forums/topic/autohotkey-problem-restoring-minimized-window-and-giving-keyboard-focus )
Поэтому вместо строки WinActivate используйте
источник
источник
Посмотрите, поможет ли это или даст вам больше идей. Я не использую ничего из вышеперечисленного.
источник
Эта функция AHK активирует вкладку Google Chrome, если она существует, и возвращает значение true. В противном случае он вернет false.
источник