Как проверить, выключен ли основной том системы или нет?

Я использую этот код для отключения / включения звука основного тома системы:

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 (без звука).

Ответы на вопрос(3)

Ваш ответ на вопрос