我的 Win XP SP3 计算机上有两个声卡,并且我编写了一个 C++ 应用程序,通过编辑以下注册表项来更改默认播放设备:
regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Multimedia\Sound Mapper", true);
我的应用程序更改了“播放”键值,以便将第一个或第二个声卡用作默认播放设备。
问题是当我更改默认设备时,应用程序仍然使用旧设备(在程序启动时设置为默认设备)。如果更改后,我再次启动应用程序,一切正常,我可以使用“新”默认播放设备。
我如何才能“告诉”我的应用程序我更改了默认设备?应用程序在启动 Windows 中默认的声音设备时通过什么方式读取和存储变量?我的问题有什么解决办法吗?