Rob*_*nik 6 windows-7 device-manager sound-card command-line
我喜欢玩《辐射 3》,它通常有很多 bug,当我添加了一些模组后更是如此。不用说,它崩溃了很多。我可以处理崩溃,唯一的问题是当我的声卡陷入无限循环式播放时。
我可以通过在设备管理器中打开和关闭设备(禁用/启用)来停止循环音频,尽管必须一直进入设备管理器很烦人。所以我希望能够半自动化这个过程。
有没有办法使用批处理脚本打开和关闭设备?这样我就可以将它放在桌面上并在我的声卡开始循环时运行它。
感谢 and31415 提供的链接,我能够使用设备控制台 (DevCon) 实用程序为 McGyver 提供解决方案。
我已经复制了有关如何从此答案中获取该工具的说明:
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"
Run Code Online (Sandbox Code Playgroud)
那个较长的字符串是硬件设备 ID。为了找到这个,我使用了 DevCon 的findall命令,将输出通过管道传输到文本文件以便于搜索。
devcon.exe findall * > C:\output.txt
Run Code Online (Sandbox Code Playgroud)
在搜索我的设备名称时,我复制了所需的字符串。
注意:不幸的是,该批处理仍然需要管理员权限才能运行,但这是一个小问题(我可能会在稍后阶段解决)。但就目前而言,这对我有用。