как управлять мастер громкостью в windows 7?

<p>на некоторых клавиатурах есть регуляторы громкости, которые можно нажимать в любое время для управления мастер-громкостью. моя клавиатура не имеет этого. есть ли способ, которым я могу создать ключевой макрос, который будет работать как регуляторы громкости на этих клавиатурах? это всегда должно позволять мне контролировать громкость, даже если я играю в игру.</p>

<p>я только что сделал это с моим ноутбуком. я использовал autohotkey</p><p>вот сценарий</p><pre><code>#pgup::send {volume\_up 1} #pgdn::send {volume\_down 1} </code></pre><p>так делать <kbd>win</kbd>+<kbd>pgup</kbd> <kbd>win</kbd>+<kbd>pgdown</kbd> меняет мастер громкость. если вы предпочитаете <kbd>ctrl</kbd>+<kbd>pgup</kbd>, используйте <code>^pgup::send</code>.</p><ol> <li>если он еще не установлен, <a href="http://www.autohotkey.com/">http://www.autohotkey.com/</a> </li> <li>после установки щелкните правой кнопкой мыши на рабочем столе и выберите новый файл autohotkey.</li> <li>убедитесь, что заголовок файла оканчивается на .ahk (например, я использовал "controls.ahk")</li> <li>вставьте код сверху</li> <li>сохраните его и дважды щелкните скрипт в проводнике windows</li> </ol><p>чтобы запустить его при запуске</p><ol start="6"> <li>используйте предоставляемую ahk утилиту "convert to exe" (или вы можете щелкнуть правой кнопкой мыши файл и выбрать "скрипт компиляции")</li> <li>создайте .exe в "c:\users \% username%\appdata\roaming\microsoft\windows\меню пуск\программы\автозагрузка"</li> </ol>

<p>делать:</p><p><kbd>win + b</kbd></p><p><kbd>left</kbd></p><p><kbd>enter</kbd></p><p><kbd>pgup/pgdown</kbd></p><p><kbd>escape</kbd></p><p>это позволяет вам взаимодействовать со значками уведомлений в правой части панели задач с помощью клавиатуры. <kbd>win + b</kbd> акцентирует внимание на одном из значков панели задач, <kbd>left</kbd> будет перемещать фокус, пока вы не сфокусируетесь на значке громкости, <kbd>enter</kbd> откроет слайдер громкости вверх, и <kbd>pgup/pgdown</kbd> перемещает ползунок.</p>

<p>существует достаточно хорошее решение, которое<strong> не требует установки дополнительных программ </strong>:</p><ol> <li>нажмите на меню «пуск» и введите <code>sndvol</code> в поле поиска.</li> <li>создайте для него ярлык на рабочем столе (щелкните правой кнопкой мыши -> отправить на рабочий стол (создать ярлык).</li> <li>щелкните правой кнопкой мыши новый ярлык и измените свойства</li> <li>на вкладке «ярлык» установите в поле «сочетание клавиш» свои предпочтения. например: <code>ctrl + alt + v</code> и нажмите ок.</li> </ol><p>теперь вы можете нажимать клавиши быстрого доступа, и появится окно регулировки громкости. затем используйте стрелки <code>up</code> и <code>down</code>, чтобы изменить громкость, и <code>esc</code>, чтобы закрыть.</p><p><em>рецепт взят из этого <a href="http://lukehancock.com/blog/?p=188">сообщения в блоге</a> .</em></p>

<p> <a href="http://www.nirsoft.net/utils/volumouse.html">volumouse</a> </p><blockquote> <p>предоставляет вам быстрый и простой способ управления громкостью звука в вашей системе - просто вращая колесико мыши.</p> </blockquote>

<p> <a href="http://www.nirsoft.net/utils/nircmd.html">nircmd</a> это приложение, которое изменяет громкость и многое другое.</p><p>пример использования:</p><ul> <li>увеличить объем системы на 2000 единиц (из 65535)<br> nircmd.exe changesysvolume 2000</li> <li>уменьшить системный объем на 5000 единиц (из 65535)<br> nircmd.exe changesysvolume -5000</li> <li>установите громкость на максимальное значение<br> nircmd.exe setsysvolume 65535</li> </ul><p>вы можете использовать его вместе с <a href="http://www.autohotkey.com/">autohotkey</a> , чтобы изобрести свои собственные клавиши регулировки громкости.</p>

<p>только что найденное программное обеспечение с открытым исходным кодом <a href="https://3rvx.com/">3rvx</a> , которое "обеспечивает экранное отображение (osd) для систем windows. оно поддерживает скины с возможностью изменения громкости и извлечения osd, а также ряд элементов управления горячими клавишами, уведомлений в трее и других интересных функций. имитирует внешний вид громкости os x (доступны различные скины), и вы можете настроить комбинации клавиш ».</p><p>также доступно на <a href="https://github.com/malensek/3rvx">github</a> </p>

<p>вы можете использовать это <a href="http://www.autohotkey.com/">autohotkey</a> macro: <a href="http://www.autohotkey.com/docs/scripts/volumeosd.htm"><strong> volume on-screen-display (osd) - by rajat </strong></a> </p><p>интересная часть здесь:</p><pre><code>vol\_waveup: soundset, +%vol\_step%, wave gosub, vol\_showbars return vol\_wavedown: soundset, -%vol\_step%, wave gosub, vol\_showbars return vol\_masterup: soundset, +%vol\_step% gosub, vol\_showbars return vol\_masterdown: soundset, -%vol\_step% gosub, vol\_showbars return </code></pre><p>если вы измените сценарий и удалите «gosub», вы можете изменить громкость без экранных панелей.</p>

<p>попробуйте <a href="http://www.softarium.com/soundvolumehotkeys/">горячие клавиши громкости звука</a> </p><blockquote> <p>этот инструмент позволяет контролировать громкость звука, используя общесистемные горячие клавиши. настраиваемый экранный индикатор громкости звука покажет вам текущий уровень.</p> </blockquote><p><img src="https://i.stack.imgur.com/gzwtk.png" alt="enter image description here"> <img src="https://i.stack.imgur.com/dwsz7.png" alt="enter image description here"></p>

<p>лучший способ манипулировать уровнем громкости системы в windows без необходимости установки дополнительного программного обеспечения - это использовать<strong> vbscript </strong>одним из следующих способов:</p><p><strong> выключить звук: </strong></p><pre><code>set wshshell = createobject("wscript.shell") wshshell.sendkeys(chr(&had)) </code></pre><p><strong> увеличить уровень громкости: </strong></p><pre><code>set wshshell = createobject("wscript.shell") wshshell.sendkeys(chr(&haf)) </code></pre><p><strong> уменьшить уровень громкости: </strong></p><pre><code>set wshshell = createobject("wscript.shell") wshshell.sendkeys(chr(&hae)) </code></pre>

<p>мой любимый способ управления общей громкостью - использовать колесо прокрутки, когда курсор находится над панелью задач с помощью autohotkey:</p><pre><code>#if mouseisover("ahk\_class shell\_traywnd") wheelup::send {volume\_up} ; wheel over taskbar: increase/decrease volume. wheeldown::send {volume\_down} ; </code></pre><p>смотрите <a href="https://autohotkey.com/docs/hotkeys.htm">https://autohotkey.com/docs/hotkeys.htm</a> для более подробной информации</p><p>чтобы можно было регулировать громкость, где бы ни находился курсор (при нажатой крышке), вы можете добавить следующее:</p><pre><code>capslock & wheelup::send {volume\_up} capslock & wheeldown::send {volume\_down} </code></pre>

<p>хотя это очень старый вопрос, я хочу сообщить о своих выводах по этой теме. я наткнулся на библиотеку<strong> autohotkey\_l </strong>, пытаясь перезаписать глобальные горячие клавиши <code>volume\_up</code> и <code>volume\_down</code> моей клавиатуры. цель состояла в том, чтобы иметь возможность контролировать общую громкость во время запуска ограничительного нажатия клавиш<strong>, потребляющего полноэкранные приложения/игры </strong>(<em>bethesda</em> в качестве печально известного примера). функции довольно просты, поэтому я просто опубликую небольшой пример:</p><pre><code>volume\_up:: newvol := va\_getmastervolume() + 5 va\_setmastervolume(newvol) return volume\_down:: newvol := va\_getmastervolume() - 5 va\_setmastervolume(newvol) return </code></pre><p>в принципе, этот код содержит все, что вам нужно. он перезаписывает обе клавиши так же, как и раньше, но вместо того, чтобы полагаться на ос для перехвата нажатия клавиш, ahk устанавливает громкость самостоятельно. конечно, вы можете указать любую другую горячую клавишу. поскольку, похоже, нет встроенной функции для изменения громкости <em>относительно</em>, сначала вам нужно будет получить текущий объем, а затем увеличить/уменьшить его по желанию (здесь: <code>5</code>). <code>va\_setmastervolume</code> принимает значения между<strong> 0.0 </strong>и<strong> 100.0 </strong>включительно.</p><p>чтобы это работало в ограниченных полноэкранных окнах, было достаточно вызвать директиву <a href="http://l.autohotkey.net/docs/commands/\_usehook.htm"><code>#usehook</code></a> в верхней части моего скрипта.</p><p><strong> ссылки: </strong></p><ol> <li>загрузка библиотеки: <a href="http://www.autohotkey.com/board/topic/21984-vista-audio-control-functions/">функции управления звуком в vista</a> \_ <em>by lexikos</em></li> <li> <a href="http://www.autohotkey.net/~lexikos/docs/va.html">va электронная документация</a> </li> </ol>