sprawdź, czy monitor jest podłączony
Mam zrobić prosty program, który zgłasza serwerowi stan monitora (czy jest włączony / wyłączony, czy po prostu nie jest podłączony). Do tej pory używam tej metody, którą znalazłem w innej dyskusji, ale po prostu wraca do mnie prawdziwie za każdym razem, nawet jeśli rozłączyłem monitor.
public static Boolean isMonitorActive()
{
Boolean active = false;
var query = "select * from WmiMonitorBasicDisplayParams";
using (var wmiSearcher = new ManagementObjectSearcher("\\root\\wmi", query))
{
var results = wmiSearcher.Get();
foreach (ManagementObject wmiObj in results)
{
// get the "Active" property and cast to a boolean, which should
// tell us if the display is active. I've interpreted this to mean "on"
active = (Boolean)wmiObj["Active"];
return active;
}
}
return active;
}
Sprawdzam status monitora co 2-3 minuty, więc muszę użyć czegoś innego niż zmienna MonitorCout w Systemie, ponieważ jest zainicjowana i pozostaje taka sama od początku do końca programu (jeśli jestem nie mylić). Dzięki za czytanie i pomoc.