Seite 2 von 3

Re: Monitor Name auslesen

Verfasst: 01.09.2014 22:55
von ts-soft
Was soll ich da testen? Ich öffne die Nvidia-Systemsteuerung und schiebe meinen Monitor, so wie ich es gerne hätte und daraus ergeben sich auch die Werte. Das heißt, die ändern sich, ausser der Durchmesser.

Re: Monitor Name auslesen

Verfasst: 01.09.2014 23:01
von SBond
ts-soft hat geschrieben:Was soll ich da testen?
ach sorry. Ich war wieder zu langsam :mrgreen:. Das war für Hoto gedacht, damit der sehen kann, dass es auch mehreren Monitoren läuft.

Re: Monitor Name auslesen

Verfasst: 01.09.2014 23:10
von ts-soft
Hab mal schnell 2 Fotos gemacht, um zu zeigen, was ich meine:
Bild
Bild
Nur 2 Beispiele, wie angeordnet werden kann. Und immer ändern sich die Koordinaten.

Re: Monitor Name auslesen

Verfasst: 01.09.2014 23:19
von SBond
jap, das ist mir bekannt ;)

Re: Monitor Name auslesen

Verfasst: 01.09.2014 23:36
von Hoto
Danke für die ganzen Antworten. :)

Ich hab mal nach dem Tipp mit EnumDisplayDevices_() im Forum gesucht und diesen kurzen Testcode gefunden. Der spuckt mir aber erst mal nur die Display Adapter (Anschlüsse) der Grafikkarte aus aber keine Monitordaten?

Code: Alles auswählen

DD.DISPLAY_DEVICE
DD\cb = SizeOf(DISPLAY_DEVICE)
i = 0
While EnumDisplayDevices_(#Null, i, @DD, 0) <> 0
  Debug PeekS(@DD + OffsetOf(DISPLAY_DEVICE\DeviceKey), SizeOf(DISPLAY_DEVICE\DeviceKey))
  i + 1
Wend
Was mich zum Regkey "\Registry\Machine\System\CurrentControlSet\Control\Video\{70D2BA53-21A9-4904-957F-18955D0068BD}\0000" etc bringt. Noch hab ich dort keine Angaben direkt zum Monitor finden können, dafür etliche Grafikkarten Daten. ^^

Die Monitor Daten hab ich zwar auch gefunden, die stehen bei mir unter "\Registry\Machine\System\CurrentControlSet\Enum\DISPLAY", wenn ich von ersterem irgendwie zu zweiterem käme... die Verbindung hab ich in der Registry bisher noch nicht gefunden, ist aber sicherlich dort zu finden. ;)

@SBond: Sicher das du die eigentliche Frage verstanden hast? Das bringt mich jetzt nicht wirklich weiter. So weit war ich im Grunde vorher schon. ^^

Re: Monitor Name auslesen

Verfasst: 01.09.2014 23:52
von SBond
Hoto hat geschrieben:@SBond: Sicher das du die eigentliche Frage verstanden hast? Das bringt mich jetzt nicht wirklich weiter. So weit war ich im Grunde vorher schon. ^^
haha :mrgreen:
scheinbar habe ich dich nicht richtig verstanden ^^

aber ich habe es nach diesem Satz von dir interpretiert .
Es geht im Prinzip darum einen bestimmten Monitor innerhalb eines beliebigen Multimonitor Setups zu erkennen um so zu wissen welcher Teil des Desktops auf diesem dargestellt wird.
...ich verstehe eigentlich nicht wirklich, welche Rolle der Monitorname oder der Grafikkartenanschluss spielen sollte, wenn du scheinbar die Positionen der Desktop-Teile ermitteln willst :|

Re: Monitor Name auslesen

Verfasst: 02.09.2014 00:02
von RSBasic
So, nachdem ich mich ein bisschen mit diesem Thema beschäftigt habe, hier der Code, um auch den Namen (oder Treiber-Name?) des Monitors zu ermitteln:

Code: Alles auswählen

EnableExplicit

#EDD_GET_DEVICE_INTERFACE_NAME = $00000001

Define DD1.DISPLAY_DEVICE\cb = SizeOf(DISPLAY_DEVICE)
Define DD2.DISPLAY_DEVICE\cb = SizeOf(DISPLAY_DEVICE)
Define iDevNum = 0
Define CurrentDeviceID$

While EnumDisplayDevices_(#Null, iDevNum, @DD1, 0)
  Debug PeekS(@DD1\DeviceName[0])
  
  EnumDisplayDevices_(@DD1\DeviceName, #Null, @DD2, #EDD_GET_DEVICE_INTERFACE_NAME)
  Debug PeekS(@DD2\DeviceName[0])
  CurrentDeviceID$ = PeekS(@DD2\DeviceID[0])
  Debug CurrentDeviceID$
  Debug StringField(CurrentDeviceID$, 2, "#")
  Debug "--------------------------------------------------"
  
  iDevNum + 1
Wend
Ist die zurückgegebene Bezeichnung für dich ausreichend?

Re: Monitor Name auslesen

Verfasst: 02.09.2014 00:06
von Hoto
Ja, damit lässt sich der Monitor eindeutig identifizieren, perfekt, danke. :)

Wenn jetzt noch \\.\Display1 mit dem von PBs ExamineDesktops() übereinstimmt, ist alles perfekt. ^^

P.S. das wäre was für deine Webseite, da hab ich als aller erstes geguckt. :mrgreen:

Re: Monitor Name auslesen

Verfasst: 02.09.2014 00:16
von SBond
Hoto hat geschrieben:...das wäre was für deine Webseite, da hab ich als aller erstes geguckt. :mrgreen:
indeed!

ist auch meine Quelle ;)

1. PB-Hilfe
2. RSBasic-Webseite
3. PB-Forum
4. MSDN
5. weinen

...so in der Reihenfolge

Re: Monitor Name auslesen

Verfasst: 02.09.2014 00:26
von Hoto
Ja, die Reihenfolge kommt mir bekannt vor. ;)

Was das Missverständnis angeht: vielleicht hätte ich es genauer erklären sollen um Missverständnisse zu verhindern. Es geht um einen speziellen Monitor eines bestimmten Herstellers mit dem mein Tool dann auf dessen Desktop Part arbeiten soll und da dieser so gut wie immer als zusätzlicher Monitor angeschlossen ist, neben womöglich weiteren Zusatzmonitoren, ist eine eindeutige Identifizierung nötig.