Ich verwende WMI Win32_MonitorDesktop
, um alle Monitorinformationen auf dem System zu erhalten.WMI Alle Monitore erhalten, die nicht alle Monitore zurückgeben
Es gibt jedoch nur eins zurück. Ich habe es auf mehreren Computern versucht, und sie haben definitiv mehrere Monitore auf ihnen, verbunden und arbeiten.
ManagementObjectSearcher monitorObjectSearch = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor");
foreach (ManagementObject monitor in monitorObjectSearch.Get())
{
Debug.WriteLine(monitor["Description"]);
}
Weiß jemand, warum ich nur 1 Monitor zurückbekomme?
Auch wenn ich den Rückgabewert von MonitorObjectSearch.Get() zu einer Variablen zuweisen, kann ich die Count-Eigenschaft im unmittelbaren Fenster nicht als die Funktion immer Timeout ausgewertet werden.
Beginnend mit Windows Vista, Hardware, die nicht kompatibel ist mit Windows Display Driver Model (WDDM) gibt ungenaue Eigenschaftswerte für Instanzen dieser Klasse zurück. (Von http://msdn.microsoft.com/en-us/library/aa394122(VS.85).aspx) –
Das sagt, dass es ungenaue Eigenschaftswerte zurückgibt, die Werte, die ich für den einzelnen Monitor bekomme, sind korrekt. Ich bekomme nur 1 Monitor. –
Wenn ich Screen.AllScreens verwende, habe ich 2 im Array, aber ich kann nicht den "netten" Namen des Monitors von hier bekommen. –