EnumDisplayDevices vs WMI Win32_DesktopMonitor, zu erkennen, wie aktive Monitore?

Für mein Aktuelles C++ Projekt, das ich brauchen, um festzustellen, eine eindeutige Zeichenfolge für jeden monitor, der angeschlossen ist und aktiv auf eine große Anzahl von Computern.

Forschung hat darauf hingewiesen 2 Optionen

  1. Verwendung der WMI-Abfrage und die Win32_DesktopMonitor für alle aktiven Monitore. Verwenden Sie die PNPDeviceID für eine eindeutige Identifizierung der Monitore.

  2. Nutzung der EnumDisplayDevices-API, und Graben Sie nach unten, um die Geräte-ID.

Ich bin daran interessiert, mit der Geräte-id für die eindeutige Modell-Identifikation, weil Monitoren mit Standard-plug-and-play-Treiber meldet, dass der generische string-als monitor-name "default plug-and-play-monitor"

Ich habe Probleme mit dem WMI-Methode, scheint es doch nur du 1 monitor auf meinem Vista-Rechner, der Blick auf die doco es stellt sich heraus, es funktioniert nicht wie erwartet auf nicht WDDM-Geräte.

Die EnumDisplayDevices scheint ein wenig problematisch zu bekommen, wenn es läuft als hintergrund-service (vor allem auf Vista), Wenn es in Sitzung 0 wird es wieder keine info.

  • Hat jemand anderes hatte, etwas ähnliches zu tun (finden Sie einzigartige Modell-string für alle angeschlossenen aktiven Monitore?)

  • Welchem Ansatz gearbeitet am besten?

InformationsquelleAutor Sam Saffron | 2008-10-08
Schreibe einen Kommentar