我喜欢玩《辐射 3》,这款游戏通常漏洞百出,添加一些模组后漏洞就更多了。不用说,游戏经常崩溃。我可以忍受崩溃,唯一的问题是崩溃时我的声卡会陷入无限循环播放。
我可以通过在设备管理器中打开和关闭设备(禁用/启用)来停止循环音频,尽管必须一直进入设备管理器很烦人。所以我希望将这个过程半自动化。
有没有办法使用批处理脚本来打开和关闭设备?这样我就可以将其放在桌面上,并在声卡开始循环时运行它。
答案1
在 Windows 10 上,您可以使用wmic
。我更喜欢在 where 子句中使用PNPDeviceID
。您可以先查询精确值:
wmic path Win32_PnPEntity where "PNPDeviceID like '%VEN%'"
一旦拥有它,就可以使用:
wmic path Win32_PNPEntity where "PNPDeviceID='yourPNPDeviceIDname'" call disable
我发现了一些关于 wmic 的非常有用的信息这里
答案2
感谢 and31415 提供的链接,我能够使用设备控制台 (DevCon) 实用程序找到解决方案。
我已经从以下网址复制了有关如何获取该工具的说明这个答案:
DevCon是一个命令行工具,可显示有关设备的详细信息,并允许您从命令行搜索和操作设备。DevCon 可启用、禁用、安装、配置和删除本地计算机上的设备,并显示有关本地和远程计算机上的设备的详细信息。
.cab
根据操作系统下载相应的包:打开
.cab
档案并提取名为 的文件fil[some letters and numbers]
。该文件大约 80 KB。- 将其重命名为
devcon.exe
。
使用此工具,我能够找出声卡的硬件 ID,并使用它来启用和禁用设备。由于我只需要切换设备,因此我的批处理文件如下所示:
devcon.exe disable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"
devcon.exe enable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"
那个较长的字符串是硬件设备 ID。为了找到它,我使用了 DevCon 的findall
命令,将输出传输到文本文件以便于搜索。
devcon.exe findall * > C:\output.txt
搜索我的设备名称,我复制了我需要的字符串。
笔记:不幸的是,批处理仍然需要管理员权限才能运行,但这只是一个小问题(我可能能够稍后解决)但就目前而言,这对我来说是可行的。