Проверка состояния питания монитора из приложения .net, управляемого - PullRequest
2 голосов
/ 03 февраля 2012

Мне нужно проверить, включено ли питание дисплея / монитора (включено или выключено?).

Я пробовал с WMI, используя Win32_DesktopMonitor и проверил «Доступность», но возвращаемое значение всегда 3 (включено), даже если монитор физически выключен.

Теперь, глядя на несколько потоков здесь, на StackOverflow, я бы хотел следовать одному направлению, а именно использовать интерфейс IMSVidDevice, но я понятия не имею, как его использовать.

У меня есть эта ссылка http://msdn.microsoft.com/en-us/library/windows/desktop/dd694527(v=vs.85).aspx, чтобы начать.

В нем говорится об использовании сегмент.h и сегмент.идл. Также есть упоминание о msvidctl.h.

Я нашел библиотеку типов MS Video Control 1.0, которая, кажется, мне нужна (у нее определен интерфейс IMSVidDevice), но я не могу понять, как использовать эту библиотеку.

        var devices = new MSVidCtlLib.MSVidOutputDevices();

        Console.WriteLine("Found {0} devices", devices.Count);

        foreach (MSVidCtlLib.IMSVidOutputDevice dev in devices)
        {
            Console.WriteLine("{0}: {1} - {2}", dev.Name, dev.Status, dev.Power);
        }

Но количество устройств: всегда равно нулю. У меня на мониторе есть два монитора.

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...