Как проверить, выключен ли основной том системы или нет?
Я использую этот код для отключения / включения звука основного тома системы:
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;
(Получил код отhttps://stackoverflow.com/a/154128/1140885)
На XP работает нормально (пока не тестировал на Win7).
Мне нужен методпроверить (получить), каково текущее состояние "немой"? Это немой или нет.
Есть идеи?
Обновление: ДляXP В итоге я использовал код отсюда:Как получить основной объем в Windows XP? (Спасибо @Sertac Akyuz)
Мне пришлось изменить только одну строку:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
чтобы:
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
Возвращаемое значение: 0 (не без звука) или 1 (без звука).