Anzahl der angeschlossenen Monitore feststellen

Hallo
Gibt es eine Moeglichkeit festzustellen wieviel Monitore
angeschlossen sind ?
Hintergrund :
Ich habe auf meine 1. Monitor ( VGA ) mein Dashboard laufen.
Auf dem 2. Monitor ( TV - HDMI ) moechte ich XBMC laufen lassen.
Das geht auch ohne Probleme. Jetzt kommt mein Problem.
Ich schalte meine TV aus wenn ich zB das Haus verlasse aus.
Damit verschwindet der TV als 2. Monitor und XBMC geht auf
den 1. Monitor , was ich ja nicht will. In diesem Fall moechte ich
XBMC beenden und wenn 2. Monitor wieder da ist , XBMC starten.

das kann man kostenlos runterladen.


C:\>devcon find *Monitor*
DISPLAY\WOR4319\5&27D3DC4D&0&UID259                         : PnP-Monitor (Stand
ard)
DISPLAY\WOR4319\5&27D3DC4D&0&UID260                         : PnP-Monitor (Stand
ard)
2 matching device(s) found.

(Ich habe zwei identische TFTs).

Für die Zeile mit der Zahl also:

C:\>devcon find *Monitor* |findstr found

Der Befehl „devcon classes“ listet Dir auch die auf Deinem Pc verfügbaren Klassen auf.
Grüße, Benjamin

Hallo
Hab devcon ausprobiert, zwar noch nicht daheim aber im Moment
auf einem Laptop. Mein Laptop hat anscheinend 5 Monitore

DISPLAY\CMO1524\4&1FCE1E9D&0&80871400&00&22                 : Plug und Play-Monitor
DISPLAY\CMO1524\4&2A3DA70E&0&00000400&00&02                 : Plug und Play-Monitor
DISPLAY\GSM4AD7\4&1FCE1E9D&0&80871100&00&22                 : Plug und Play-Monitor
DISPLAY\GSM4AD7\4&2A3DA70E&0&00000100&00&02                 : Plug und Play-Monitor
DISPLAY\NEC61BE\4&2A3DA70E&0&80861500&00&02                 : Plug und Play-Monitor
5 matching device(s) found.

Habs jetzt erst mal anders geloest. Auf meinem Rechner laeuft
auch EventGhost. Da aber eine Aenderung der Anzahl der Monitore
standardmaessig in EventGhost keinen Event ausloest
hab ich eben mal ein neues Plugin fuer EventGhost geschrieben.
Sobald sich die Anzahl aendert wird ein Event ausgeloest den ich dann
weiterverwenden kann.
Mein erstes Pythonprogramm :slight_smile:

from threading import Event, Thread
from win32api import EnumDisplayMonitors

from eg.WinApi.Utils import BringHwndToFront, CloseHwnd, GetMonitorDimensions

class Monitore(eg.PluginBase):

    def __start__(self):
        self.stopThreadEvent = Event()
        thread = Thread(
            target=self.ThreadLoop,
            args=(self.stopThreadEvent, )
        )
        thread.start()

    def __stop__(self):
        self.stopThreadEvent.set()

    def ThreadLoop(self, stopThreadEvent):
        anzahl_old = -1
        while not stopThreadEvent.isSet():
        
            monitorDimensions = GetMonitorDimensions()

            anzahl = len(monitorDimensions)
            
            if anzahl != anzahl_old :
              label = "Count %s" % ( anzahl )     
              self.TriggerEvent(label)

            anzahl_old = anzahl
            stopThreadEvent.wait(2.0)