修改声音我们可以用到waveOutSetVolume函数,但此函数不会将值保存到注册表中,所以我们想要保存修改设置时就要修改注册表了,看下面的一段代码:
HKEY hKey;
if(RegOpenKeyEx(HKEY_CURRENT_USER,_T("ControlPanel//Volume"),0,0,&hKey)!=ERROR_SUCCESS)
return ERR_ZERO;
temp_reg=0xffff;
if(RegSetValueEx(hKey,_T("Volume"),0,REG_DWORD,(BYTE *)&temp_reg,10)!=ERROR_SUCCESS)
return ERR_ZERO;
RegCloseKey(hKey);
if(waveOutSetVolume(0,0xffff)==MMSYSERR_NOERROR)
return VOLUME32;
有个细节是注册表里的声音值是0X00000000,有8位,其实只低四位起到作用,高四位是保留的,大家有兴趣可以试试看