вот нашел код говорят работает но у меня не компилится
[spoiler=]#undef UNICODE
#include <windows.h>
#include <mmsystem.h>
HMIXER hMixer;
MIXERLINE ml;
MIXERLINECONTROLS mlc;
MIXERCONTROL mc;
MIXERCONTROLDETAILS mcd;
DWORD Volume;
MMRESULT Ret;
void main (void)
{
Ret = mixerOpen(&hMixer, 0, NULL, NULL, 0);
if (Ret != MMSYSERR_NOERROR) return;
ml.cbStruct = sizeof(ml);
ml.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
Ret = mixerGetLineInfo((HMIXEROBJ)hMixer, &ml, MIXER_GETLINEINFOF_COMPONENTTYPE);
if (Ret != MMSYSERR_NOERROR) return;
mlc.cbStruct = sizeof(mlc);
mlc.dwLineID = ml.dwLineID;
mlc.dwControlType = MIXERCONTROL_CONTROLTYPE_MUTE;
mlc.cControls = 1;
mlc.cbmxctrl = sizeof(mc);
mlc.pamxctrl = &mc;
mc.cbStruct = sizeof(mc);
Ret = mixerGetLineControls((HMIXEROBJ)hMixer, &mlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
if (Ret != MMSYSERR_NOERROR) return;
mcd.cbStruct = sizeof(mcd);
mcd.cbDetails = sizeof(Volume);
mcd.paDetails = &Volume;
mcd.dwControlID = mc.dwControlID;
mcd.cChannels = 1;
mixerGetControlDetails((HMIXEROBJ)hMixer, &mcd, MIXER_GETCONTROLDETAILSF_VALUE);
Volume = !Volume;
mixerSetControlDetails((HMIXEROBJ)hMixer, &mcd, MIXER_SETCONTROLDETAILSF_VALUE);
PlaySound(TEXT("c:\\windows\\media\\Alarm01.wav"), NULL, SND_FILENAME | SND_ASYNC);
mixerClose(hMixer);
}[/spoiler]