修改声音,并保存到注册表

修改声音我们可以用到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位,其实只低四位起到作用,高四位是保留的,大家有兴趣可以试试看

你可能感兴趣的:(修改声音,并保存到注册表)