1 (изменено: akafist, 2019-06-09 15:38:16)

Тема: AHK: Перестают работать горячие клавиши в Firefox

Использую такой код для открытия выделенных ссылок в дефолтном браузере

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;Open links from selection
;Alt+Ctrl+Shift+L
!^+l::
clipboard =
Send ^c
ClipWait
Loop, parse, clipboard, `n, `r 
  Run %A_LoopField%
Return

Работает как ожидается, выделяю группу ссылок, нажимаю сочетание клавиш, ссылки открываются в FF. Проблема в том, что после этого перестают работать горячие клавиши в самом FF. Помогает переключение мышкой на соседнюю вкладку или «убрать фокус» с браузера (например, два раза нажать Win). Версии AHK и FF последние.

Искал в интернете решение проблемы, не нашёл. Может быть кто-нибудь сталкивался с проблемой. Помогите, пожалуйста.

2

Re: AHK: Перестают работать горячие клавиши в Firefox

Задайте дерективу #IF чтобы получить контекстно-чувствительную горячую клавишу. Тогда ГК AutoHotkey не будут перебивать ГК Firefox.

3

Re: AHK: Перестают работать горячие клавиши в Firefox

ypppu
Почитал документацию, получается, мне нужно добавить какое-то условие для срабатывания горячей клавиши? Но я не могу его придумать, мне нужно что бы она работала в разных программах (Excel, notepad или в самом FF…). Возможно, я не правильно понял :-(

И примечание, в FF перестают работать вообще все горячие клавиши, не только та, что я использую для открытия ссылок.

4

Re: AHK: Перестают работать горячие клавиши в Firefox

Можно про это почитать в английской справке.
#If [Expression]
Creates context-sensitive hotkeys and hotstrings. Such hotkeys perform a different action (or none at all) depending on the result of an expression.

Пример горячей клавиши, которая работает только в окне Блокнота.

#IF WinActive("ahk_class Notepad")
F12::Msgbox
#IF