Win XP SP3 コンピュータに 2 つのサウンド カードがあり、次のレジストリ エントリを編集してデフォルトの再生デバイスを変更する C++ アプリを作成しました。
regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Multimedia\Sound Mapper", true);
私のアプリは、1 つ目または 2 つ目のサウンド カードをデフォルトの再生デバイスとして使用するために、「再生」キーの値を変更します。
問題は、デフォルトのデバイスを変更すると、アプリケーションがまだ古いデバイスを使用していることです (プログラムの起動時にデフォルトとして設定されていました)。変更後にアプリケーションを再度起動すると、すべて正常に動作し、「新しい」デフォルトの再生デバイスを使用できます。
デフォルトのデバイスを変更したことをアプリケーションに伝えるにはどうすればよいですか? Windows で既定のサウンド デバイスを起動するときに、アプリケーションはどのようにして変数を読み取って保存しますか? 私の問題の解決策はありますか?