Хотя это очень старый вопрос, я хочу сообщить о своих выводах на эту тему. Я наткнулся на библиотеку AutoHotKey_L, пытаясь перезаписать глобальные горячие клавиши Volume_Up
и Volume_Down
моей клавиатуры. Цель состояла в том, чтобы иметь возможность управлять главной громкостью при выполнении ограничительных нажатий кнопок, потребляющих полноэкранные приложения/игры (игры Bethesda в качестве печально известного примера). Функции довольно просты, поэтому я просто приведу небольшой пример:
Volume_Up::
newVol := VA_GetMasterVolume() + 5
VA_SetMasterVolume(newVol)
return
Volume_Down::
newVol := VA_GetMasterVolume() - 5
VA_SetMasterVolume(newVol)
return
В принципе, этот код содержит все, что вам понадобится. Он перезаписывает обе клавиши, чтобы сделать то же самое, что и раньше, но вместо того, чтобы полагаться на операционную систему, чтобы поймать нажатие клавиши, AHK сам задает громкость. Конечно, вы можете указать любую другую горячую клавишу. Так как, кажется, нет встроенной функции для изменения тома relatively, то сначала нужно получить текущий том, а затем в/уменьшить его по желанию (здесь: 5
). VA_SetMasterVolume
принимает значения между 0. 0 и 100.0 , включительно.
Чтобы это работало в ограниченных полноэкранных окнах, достаточно вызвать директиву #UseHook
в верхней части моего скрипта.
References:
- Скачать библиотеку: Vista Audio Control Functions by Lexikos
- VA Online документация