2014-02-12 3 views
3

У меня довольно простой скрипт authotkey, который запускает и останавливает воспроизведение музыки, когда я нажимаю один из кнопок XButtons на моей мыши: XButton1::Send {Media_Play_Pause}. Программа работает отлично, и у меня нет проблем с ней. Однако, когда я использую Notepad ++, он перехватывает горячую клавишу кнопки мыши до того, как AutoHotKey делает и переключает вкладки. Это заставляет меня переключаться с Notepad ++, когда я хочу использовать эту горячую клавишу.Как сделать горячие клавиши для перехвата AutoHotKey перед другими программами?

Можно ли каким-либо образом изменить порядок, в котором программы перехватывают горячие клавиши, чтобы AutoHotKey всегда получал первые dib на любые введенные нажатия клавиш или кнопки мыши?

Или, есть параметр, который я могу изменить в Notepadd ++, чтобы отключить функциональность XButton. Я просмотрел все настройки, но я все равно не смог остановить это.

+0

Попробуйте '# UseHook' в верхней части вашего скрипта. – MCL

+0

Не повезло. Он по-прежнему ведет себя одинаково даже с помощью '# UseHook'. – vividn

+0

Также попробуйте '# InstallMouseHook'. – MCL

ответ

2

Хорошо. Думаю, мне удалось это понять. Проблема заключалась в том, что я запускал Notepad ++ в качестве администратора, поэтому, я думаю, он получил более высокий приоритет в выборе горячих клавиш. Запуск AHK в качестве администратора также решил проблему.

0

В Notepad ++, вы можете пойти в настройки> Ярлык Mapper ...

Если кнопки X имитируем нажатие клавиш, возможно, придется удалить эквивалентную комбинацию клавиш.

+0

Я тоже посмотрел туда. Похоже, что у него есть только горячие клавиши клавиатуры, а не горячие клавиши мыши для переключения на вкладку. – vividn

+0

Проблема возникает, когда буквально весь сценарий ahk: 'XButton1 :: Send {Media_Play_Pause}'. В Notepad ++ для Media_Play_Pause отсутствует ярлык клавиш. Notepad ++ также документирует, что он реализует это поведение переключения табуляции для XButtons (к сожалению, не как избавиться от него, тем не менее). Я уверен, что Notepad ++ просто перехватывает горячие клавиши перед AutoHotKey. – vividn

0

У меня была аналогичная проблема с окнами RDP.

Всякий раз, когда окно RDP было активным, оно перехватывало все нажатия клавиш, и мой скрипт ничего не получал.

Я решил эту проблему, проверив проверку скрипта каждые 10 секунд, если активное окно является RDP-окном, и если это так, сценарий перезагружается.

Если у вас есть переменные, которые необходимо сохранить, вы можете сохранить их в INI-файле или в качестве глобальных переменных (любое решение немного замедлит ваш скрипт).

Это не идеальное решение, потому что ваши горячие клавиши не будут реагировать сразу, если вы только что открыли Notepad ++.