У меня есть две звуковые карты на моем компьютере с Windows XP SP3, и я написал приложение на C ++, с помощью которого я меняю устройство воспроизведения по умолчанию, редактируя следующую запись реестра:
regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Multimedia\Sound Mapper", true);
Мое приложение изменяет значение клавиши «Воспроизведение» в целях использования первой или второй звуковой карты в качестве устройства воспроизведения по умолчанию.
Проблема в том, что когда я меняю устройство по умолчанию, приложение все еще использует старое (которое было установлено по умолчанию при запуске программы). Если после изменения я снова запускаю приложение, все работает нормально, и я могу использовать «новое» устройство воспроизведения по умолчанию.
Как я могу "сказать" для моего приложения, что я сменил устройство по умолчанию? Каким образом приложение считывает и сохраняет переменную при запуске, какое звуковое устройство по умолчанию в Windows? Есть ли решение для моей проблемы?