设备启用/禁用脚本

时间:2010-11-19 22:23:27

标签: scripting programming-languages audio windows-7-x64 device-manager

我在自己制作的计算机上安装了Windows 7 64位专业版,因此​​没有制造商可以提出要求。我正在使用具有7.1和光输出的板载声卡。光学输出插入一个控制扬声器的天龙放大器。

我的扬声器系统通过声卡上的光学端口插入电脑。当我使用标准的Windows驱动程序时,我只得到立体声输出,所以我安装了Realtek HD音频驱动程序。这给了我成功的环绕声,但它并没有将它作为标准扬声器,所以当我插入耳机并将它们定义为耳机时,音频仍然没有发生在扬声器系统上,也没有发生在耳机上。

我发现如果我在播放设备列表中禁用数字输出设备,音频会自动通过耳机重新路由。因此,我一直在尝试找到一种禁用或启用此设备的方法。我有一个可编程键盘,所以我可以将程序或脚本映射到备用键,因此我试图编写一个程序来检查设备是启用还是禁用,然后将其更改为任何不是,即如果关闭,如果关闭打开。

我试图找到第1个硬件ID。 “HDAUDIO \ FUNC_01&安培; VEN_10EC&安培; DEV_0888&安培; SUBSYS_105BA601”
2。 “HDAUDIO \ FUNC_01&安培; VEN_10EC&安培; DEV_0888&安培; SUBSYS_105BA601&安培; REV_1000”

我原计划使用devcon(命令行替代设备管理器)创建批处理脚本。使用以下代码禁用或启用设备

devcon disable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon enable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

然而,devcon无法禁用这些设备,因为声卡上的光学连接,我只能禁用整个声卡,这也会禁用耳机。

我现在有点迷失,我真的不希望我的兄弟需要使用禁用设备。

我愿意接受任何建议。我很乐意使用任何语言来做到这一点。我确定必须有一种方法可以从c中执行此操作,但我无法找到有关此信息的任何信息。我将不胜感激任何建议。我很高兴自己编写这个程序但是如果有人能够至少指出我正确的方向指向一个api或类似devcon的东西或某种语言的某种方式来做这件事。我目前非常了解VB6,VB.NET,VB脚本,Java和Batch Scripting以及Powershell,并且对C,C ++和C#.NET有一定的了解。

任何和所有帮助将不胜感激

亲切的问候
德克斯特

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

devcon /r disable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon /r enable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

此致

帕尔