Есть ли способ определить состояние монитора в Windows (включено или выключено)?

Кто-нибудь знает, есть ли API для получения текущего состояния монитора (включено или выключено) в Windows (XP / Vista / 2000/2003)?

Все мои поиски, кажется, показывают, что нет никакого реального способа сделать это.

Эта тема пытается использоватьGetDevicePowerState который в соответствии с Microsoft 's документы не работает для устройств отображения.

В Vista я могу слушатьGUID_MONITOR_POWER_ON но я не получаю события, когда монитор выключен вручную.

В XP я могу подключитьсяWM_SYSCOMMAND SC_MONITORPOWER, ищет статус 2. Это работает только в ситуациях, когда система отключает питание.

WMIWin32_DesktopMonitor класс, похоже, тоже не поможет.

редактировать: Вотобсуждение на comp.os.ms-windows.programmer.win32 указав, что нет надежного способа сделать это.

У кого-нибудь еще есть другие идеи?

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

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