Überprüfen Sie, ob der Monitor angeschlossen ist

Ich muss ein einfaches Programm erstellen, das einem Server den Status des Monitors meldet (ist es an / aus oder einfach, wenn es nicht verbunden ist). Bisher verwende ich diese Methode, die ich in einer anderen Diskussion gefunden habe, aber sie wird mir jedes Mal wieder richtig angezeigt, auch wenn ich meinen Monitor vom Computer getrennt habe.

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;
        }

Ich muss den Status des Monitors alle 2-3 Minuten überprüfen, daher muss ich etwas anderes als die MonitorCout-Variable in System verwenden, da sie vom Anfang bis zum Ende des Programms gleich initialisiert ist und bleibt (wenn ich es bin) nicht falsch). Vielen Dank für das Lesen und Helfen.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage