Сценарий включения / выключения устройства - PullRequest
5 голосов
/ 20 ноября 2010

У меня Windows 7 64 Bit Professional Edition на компьютере, который я сам собрал, так что нет ни одного производителя, которого можно было бы спросить.Я использую встроенную звуковую карту с 7.1 и оптическими выходами.Оптический выход подключен к усилителю Denon, который управляет динамиками.

Я подключил акустическую систему к компьютеру через оптический порт на звуковой карте.Когда я использую стандартные драйверы Windows, я получаю только стерео выход, поэтому я установил аудио драйвер Realtek HD.Это дает мне объемное звучание успешно, но не связывает его со стандартным динамиком, поэтому, когда я подключаю наушники и определяю их как наушники, ничего не происходит, звук по-прежнему поступает в систему динамиков и ничего в наушники.

Iобнаружили, что если я отключаю устройство цифрового вывода в списке устройств воспроизведения, звук автоматически перенаправляется через наушники.Поэтому я пытался найти способ отключить или включить это устройство.У меня есть программируемая клавиатура, так что я могу сопоставить программу или скрипт с запасной клавишей, поэтому я пытаюсь написать программу, чтобы проверить, включено ли устройство или нет, затем измените его на то, чем оно не является, то есть если включено или выключеновключи.

Я попытался найти идентификаторы оборудования, которые1. «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*"<br/>devcon enable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

Однако devcon не удается отключить эти устройства, так как оптическое соединение установлено на звуковой карте, и я могу отключить только всю звуковую карту, что также приведет к отключению наушников.

Я немного растерялся из-зачто делать сейчас, и я действительно не хочу, чтобы моему брату приходилось играть с отключенными устройствами.

Я открыт для любых предложений.Я счастлив использовать любой язык для этого.Я уверен, что должен быть способ сделать это из c, но я не смог найти какую-либо информацию по этому вопросу.Буду признателен за любые предложения.Я очень рад написать программу сам, но если бы кто-то мог, по крайней мере, указать мне правильное направление на api или что-то вроде devcon или каким-то образом на каком-то языке, чтобы сделать это.В настоящее время я достаточно хорошо знаю VB6, VB.NET, VB Script, Java и Batch Scripting и Powershell и немного знаю C, C ++ и C # .NET.

любая помощь будет оценена

С уважениемDexter

1 Ответ

1 голос
/ 06 апреля 2011

Вы можете попробовать это:

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

С уважением,

Приятель

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...