Answers:
NirCmd是执行此操作以及更多操作的应用程序。
使用示例:
nircmd.exe changesysvolume 2000
nircmd.exe changesysvolume -5000
nircmd.exe setsysvolume 65535
nircmd.exe mutesysvolume 1
nircmd.exe mutesysvolume 0
制作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
注意:我已经在尝试使用此方法的机器上可靠地使用了此方法。 海伦对Sibo Lin的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
在闭幕之后]
和final之前插入)
。
阅读这些文章并寻找替代方法之后,我决定编写自己的命令行实用程序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%
)