通过在注册表中改
HKEY_CURRENT_USER\\Software\\Microsoft\\Multimedia\\Sound Mapper\\Playback
HKEY_CURRENT_USER\\Software\\Microsoft\\Multimedia\\Sound Mapper\\DefaultDevice
这两个键值可以设置默认声卡,但如何使注册表生效呢?在我这里(WindowsXP)必须关掉修改注册表的函数后才能生效,不知道为什么?有没有什么函数可以使修改注册表里的默认声卡键值生效
HKEY_CURRENT_USER\\Software\\Microsoft\\Multimedia\\Sound Mapper\\Playback
HKEY_CURRENT_USER\\Software\\Microsoft\\Multimedia\\Sound Mapper\\DefaultDevice
这两个键值可以设置默认声卡,但如何使注册表生效呢?在我这里(WindowsXP)必须关掉修改注册表的函数后才能生效,不知道为什么?有没有什么函数可以使修改注册表里的默认声卡键值生效
解决方案 »
- 请教关于PathIsDirectory函数用法,大侠们进来看下!
- 急!!!使用MFC中的VFW控制摄像头时,如何完全释放摄像头资源
- 不同联系人聊天纪录如何分开保存?
- VC++中怎么改变Dialog标题栏的颜色
- 在windows里,创建一个文件,在我的硬盘上写了什么东西???
- 这段代码有什么问题?
- 谁有DLL(SDK)的源代码
- 在VC里类似"显示属性"的那种分页窗体怎么制作?
- const char *中有多个\0怎么办?
- CCJShellTree在WindowsMe下不能展开
- 再问 happyparrot
- 界面重绘问题求助。请问:在dialog界面上绘图时,在设置了SetViewportExt和SetWindowExt时,如何进行内存绘图。
1、单纯在注册表中改的话,也不会在程序中起作用,在我的程序里面读到的还是修改前的默认声卡
2、如果是通过在控制面板里面的sound and audio device来修改,录音和放音设备,这时在我的程序里面会发现默认声卡设备已经更新了。我想问一下,怎么来实现控制面板中sound and audio device中的修改声卡设备后,sound and audio device中的"确认"或"应用"按钮的实现
我也没有尝试过发送下面的消息是否能立即起效——WM_SETTINGCHANGE。
主要还是看Windows的相关声卡设置的等等的程序是否有处理这个消息的函数。关于这个消息具体的可以参考MSDN。如果是自己的程序需要更新注册表,WM_SETTINGCHANGE消息是告诉应用程序去注册表中更新其相关的信息,但是这个过程还是需要自己处理的。就是你的EXE必须有处理WM_SETTINGCHANGE消息的处理函数!
--------------------------------
如果是通知系统中其他的应用程序去更新注册表,应该使用:
SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)TEXT("Environment"));