Func _WaveVolGet()
Local $WaveVol = -1, $p, $ret
Const $MMSYSERR_NOERROR = 0
$p = DllStructCreate ("dword")
If @error Then
Return -1
EndIf
$ret = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr ($p))
If ($ret[0] == $MMSYSERR_NOERROR) Then
$WaveVol = Round(Dec(StringRight(Hex(DllStructGetData ($p, 1), 8), 4)) / 0xFFFF * 100)
EndIf
DllStructDelete ($p)
Return $WaveVol
EndFunc ;==>_WaveVolGetTry this, thanks to gafrost . I THINK it should return 0 if the sound is muted but I can't test it, sorry. Edit: Try here for a slightly updated version of the function > http://www.autoitscript.com/forum/index.ph...p;hl=sound+mute