如何通过批处理文件控制计算机的主音量?

6

我有以下的批处理代码。然而,这个代码只能调高我的电脑音量,但我也想调低音量,该怎么做呢?

@if (@a==@b) @end /*

:: Batch portion

@echo off

cscript /e:jscript "%~f0"

:: JScript portion */

var shl = new ActiveXObject("WScript.Shell");
for (var i = 0; i < 5; i++) {
    shl.SendKeys(String.fromCharCode(0xAF));
}

4
如果你还没有尝试过,可以看一下nircmd。这是一个简单的命令行实用程序,可以让你更加控制音量调整,并提供其他一些有用的功能。 - Bond
1个回答

6
这些已经测试过并在这里能够正常运行 - 关键码可以在下面评论中的 Microsoft 链接中找到。 音量控制 UP.bat
@if (@a==@b) @end /*

:: batch portion

@ECHO OFF

cscript /e:jscript "%~f0"


:: JScript portion */

var shl = new ActiveXObject("WScript.Shell");
for (var i=0; i<5; i++) {
    shl.SendKeys(String.fromCharCode(0xAF));
}

音量调低.bat
@if (@a==@b) @end /*

:: batch portion

@ECHO OFF

cscript /e:jscript "%~f0"


:: JScript portion */

var shl = new ActiveXObject("WScript.Shell");
for (var i=0; i<5; i++) {
    shl.SendKeys(String.fromCharCode(0xAE));
}

根据下面Kul-Tigin的评论,正确的代码应该是AE。
shl.SendKeys(String.fromCharCode(0xAF));

您可以使用一个实用程序来显示按下音量上下键时的按键码,假设您找到了能返回相应按键码的实用程序。
该实用程序需要显示十六进制的 AF 或十进制的 175 来表示您的 音量上 键,然后它将应显示正确的数字以表示您的 音量下 键。

3
+1,以及这里记录的虚拟键码常量(VK_VOLUME_DOWNVK_VOLUME_UP):http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx - Kul-Tigin
@Kul-Tigin 非常有用的链接,谢谢。它正确显示了AF密钥代码分配,因此“音量减小”的密钥代码应为“AE”。 - foxidrive

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接