Мне нужно проверить, включено ли питание дисплея / монитора (включено или выключено?).
Я пробовал с 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);
}
Но количество устройств: всегда равно нулю. У меня на мониторе есть два монитора.
Чего мне не хватает?