Переназначение функциональных клавиш для мультимедиа против Alt + функциональная клавиша для конкретного приложения

У меня есть ноутбук HP, и я наконец-то нашел способ изменить настройки BIOS, чтобы поменять надоедливую "функцию" функциональных клавиш Fn +, поскольку я регулярно использую F2, F5 и F11 в VBA и Office (гораздо чаще, чем нужно, чтобы изменить яркость экрана)., так далее)...

Люди могут делать все что угодно с их функциональными клавишами за закрытыми дверями, но мои наконец вернулись к тому, чтобы стать настоящими функциональными клавишами, как и предполагал Бог.

Однако я упустил удобство функциональных клавиш, которые действовали как медиа-клавиши для управления VLC, Winamp и Spotify: F6 F7 F8 F9 - F10 + F11

Поэтому я установил AutoHotKey, чтобы переназначить некоторые из них обратно на значения по умолчанию HP:

F6::Media_Prev
F7::Media_Play_Pause
F8::Media_Next
F9::Volume_Down
F10::Volume_Up

Это работает, но я хотел бы использовать F11 для обоих Volume_Mute и открыть окно VBE в Access/Excel (обычно функциональность Alt + F11).


  • Есть ли способ (с или без AutoHotKey), чтобы настроить его так, чтобы ключ вел себя по-разному в зависимости от того, какое окно активно?

    Если ActiveWindow это { Excel или Access } тогда:

    Alt + F11 остается как Alt + F11

    Если какое-либо другое окно используется, то:

    F11 AutoHotKey: Volume_Mute

  • если это невозможно, как будет выглядеть мой скрипт для сопоставления:

    Alt + F11 остается как Alt + F11

    а также

    F11 AutoHotKey: Volume_Mute

Я обсуждаю еще одно или два изменения, но с ответом на этот вопрос я смогу выяснить все остальное. Спасибо!

(HP Folio 13 Windows 7 64bit)

1 ответ

Решение

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

#If Not (WinActive ("ahk_exe excel.exe") Or WinActive ("ahk_exe access.exe"))
F11::Volume_Mute
#IfWinActive ; make sure all hotkeys after this are not qualified with the above #If statement
Другие вопросы по тегам