Sto usando questo codice per disattivare/riattivare l'audio del volume principale del sistema:Come verificare se il volume principale del sistema è disattivato o riattivato?
const
APPCOMMAND_VOLUME_MUTE = $80000;
WM_APPCOMMAND = $319;
procedure TForm1.Button1Click(Sender: TObject);
begin
// toggle mute/unmute
SendMessageW(Handle, WM_APPCOMMAND, Handle, APPCOMMAND_VOLUME_MUTE);
end;
(Got il codice da https://stackoverflow.com/a/154128/1140885)
Funziona benissimo su XP (non prova su Win7 ancora).
Ho bisogno di un metodo per controllo (get) qual è lo stato corrente "muto"? È muto o no.
Qualche idea?
Update: Per XP ho finito per usare il codice da qui: How to get the master volume in windows xp? (Grazie a @Sertac Akyuz)
ho dovuto cambiare una sola riga:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
a:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
valore di ritorno sia 0 (non disattivato) o 1 (disattivato).
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/ 0152ff8a-0d1c-4cad-b7cd-32d18ea9975d –
http://support.microsoft.com/kb/118377 – OnTheFly