Ответы:
NirCmd это приложение, которое делает это и многое другое.
Пример использования:
nircmd.exe changesysvolume 2000
nircmd.exe changesysvolume -5000
nircmd.exe setsysvolume 65535
nircmd.exe mutesysvolume 1
nircmd.exe mutesysvolume 0
nircmd
.
Создайте файлы JavaScript:
echo var oShell = new ActiveXObject("WScript.Shell"); >> volup.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAF)); >> volup.js
echo var oShell = new ActiveXObject("WScript.Shell"); >> voldown.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAE)); >> voldown.js
echo var oShell = new ActiveXObject("WScript.Shell"); >> togglemute.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAD)); >> togglemute.js
Покажите регулятор громкости, чтобы вы могли видеть, что вы делаете:
sndvol
(or maybe sndvol32)
Изменить громкость:
cscript voldown.js
Примечание: этот подход надежно работает на машинах, на которых я пытался его использовать. Ответ Хелен на вопрос StackOverflow Сибо Линя об этомозначает, что отключение звука ненадежно, но изменение громкости может быть не таким надежным. Я подозреваю, что уровень надежности может быть разным на разных машинах. В этом подходе используется технология имитации нажатия клавиш, в частности клавиши регулировки громкости на расширенной мультимедийной клавиатуре. В то время, когда Windows начала поддерживать это, такая клавиатура была в основном мало используемой легкомысленной функцией, которая предлагала функциональность, которая ранее была доступна только с пользовательскими драйверами. Меня не удивило бы, если бы этот код был менее отточенным и менее вероятным, чтобы работать на некоторых различных (возможно, более старых) аппаратных средствах, которые там есть. Все это говорит, у меня не было проблем с этим сам.
Кредиты:
Одно предостережение: этот вопрос был помечен Windows XP. Я только что попробовал это в Windows 10. Я знаю, что использовал это в Windows 7 (по крайней мере, достаточно, чтобы проверить это). Когда я впервые начал видеть встроенную поддержку Microsoft для этих улучшенных клавиатур во времена Windows ME, я думаю, что это, вероятно, будет хорошо работать и в WinXP. Я не помню, тестировал ли я это с этой операционной системой. Тем не менее, если этот подход не работает, я не ожидаю, что он вызовет проблемные побочные эффекты.
pip install SendKeys
(чистый пакет Python для эмуляции нажатий клавиш), а затем эмулировать python -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])"
одно нажатие и отпускание клавиши регулировки громкости. Например, чтобы эмулировать 100 различных нажатий, вы можете вставить их * 100
после закрытия ]
и перед финалом )
.
Прочитав эти посты и посмотрев альтернативы, я решил написать свою собственную утилиту командной строки под названием SetVol, чтобы установить громкость. Он работает немного проще, чем описано в некоторых других постах на этой странице, вот несколько примеров, которые вы вводите в командной строке:
setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute
Есть и другие варианты. Я выпустил его как бесплатное программное обеспечение, и вы можете посетить www.rlatour.com/setvol для получения дополнительной информации и загрузки копии.
наслаждаться
errorlevel
(так что я могу сохранить текущие настройки, чтобы позже восстановить его)
Вследствие и дальнейшего упрощения Nircmd
@echo off
rem 65536 is 100%
rem device where zero is the default device
rem left and right
rem supports whole numbers only therefore throws "missing operator" error when specifying 655.36
set /a volume=%1 * 655
nircmd setvolume 0 %volume% %volume%
сохранить его как файл .bat и выполнить, передав параметр
например: sound 60
установит громкость звука 60%
убедитесь, что вы положили файл bat рядом с nircmd или в %windir%
(или определите его папку в %path%
)