Чтобы установить устройство воспроизведения звука по умолчанию в Windows XP, вы можете изменить значение следующего ключа реестра:
HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper\Playback
Вероятно, это проще всего сделать, учитывая существующую конфигурацию со всеми устройствамиВы хотите, чтобы иметь возможность выбрать из установленного, это выбрать каждое из устройств воспроизведения звука по одному на панели управления Свойства звука и аудиоустройства и экспортировать настройки для этого раздела реестра в файл.Таким образом, если бы у вас было 3 устройства воспроизведения звука, которые вы хотели бы выбрать, у вас получилось бы 3 отдельных файла .REG, каждый из которых соответствует одному из устройств воспроизведения.В противном случае вам придется создавать файлы записей реестра программно на лету.
После того, как вы сгенерировали эти файлы .REG, просто двойной щелчок по одному из них в Проводнике вставит информацию, которую они содержат всоответствующее местоположение в реестре, которое выберет соответствующее устройство воспроизведения.Вы можете легко выполнить эти скрипты реестра программно.В C # вы можете использовать что-то вроде System.Diagnostics.Process.Start
и передать местоположение файла .REG, который вы хотите применить.В качестве альтернативы вы могли бы написать простой командный файл, который автоматически импортирует файл регистрационных записей без подтверждения:хаос, который вы можете нанести вашей установкой Windows.
(я понимаю, что решение для Windows XP - это то, что ищет разработчик, но для любых будущих пользователей Google обратите внимание, что это НЕ будет работать с Windows Vista или более позднейкоторый использует Core Audio API для управления этими настройками. См. этот вопрос для решения.)