AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Multi-Monitor-Umgebung: Bestimmten Monitor abschalten
Thema durchsuchen
Ansicht
Themen-Optionen

Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

Ein Thema von Codehunter · begonnen am 17. Dez 2012 · letzter Beitrag vom 8. Jan 2013
Antwort Antwort
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 08:55
Ich muss vor dem oben stehenden Code warnen. Er ist unvollständig. Bei dem Versuch herauszufinden wie er funktioniert hab ich auf meinem ersten Monitor, wie es scheint, den Gamma-Wert so hoch geschraubt, dass er beinahe nur noch weiss ist und mein zweiter Monitor ist rosa eingefärbt.

Wie stellt man auf default zurück?

Toni
Sorry Tonic1024,

falls du es nicht schon gefunden hast kannst du mit den Factory Reset Codes aus der Tabelle 8.1 des Bei Google suchenVESA Monitor Control Command Set die Einstellungen wieder reseten. Ich habe auch mal die Mods informiert, dass Sie eine Warnung in meinen Beitrag schrieben (Selbst bearbeiten kann ich ihn nicht mehr).

Shalom
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#2

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 09:12
Kein Beinbruch... Man muss sich nur im klaren sein was man tut wenn man blindlinks Messages durch die Gegend Feuert.
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#3

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 10:43
So, neue Version, neues Glück:

Wenn man jetzt den Reiter "VESA MCCS" anklickt hat man die Power-Buttons (aufpassen, dass man nicht den abschaltet wo man das Fenster vom Testprogramm hat) und exemplarisch einen Regler für die Helligkeit. Wenn man den verschiebt und anschließend mal im OSD des Monitors nachschaut, dann ändert man mit dem Regler wirklich die Monitoreinstellungen, nicht die von der Grafikkarte. Man sollte sich aber ggf. vorher den eingestellten Wert merken, damit man ihn hinterher per OSD wieder genauso einstellen kann. Die Trackbar ist ja nur ein Schätzeisen.

Der Helligkeitsregler steht nur stellvertretend für eine ganze Reihe von Optionen, die von VESA MCCS unterstützt werden. Es hängt aber auch davon ab, welches Subset davon von der Monitor-Firmware unterstützt wird.

Wichtig: Die V4 unterstützt Windows XP nicht mehr!
Angehängte Dateien
Dateityp: zip Multimon_V4.zip (304,4 KB, 64x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 11:10
Wenn ich einen Monitor auswähle bekomme ich eine AV. Helligkeit lässt sich danach regeln. Monitorpower klappt nicht. Keine Meldung, keine Reaktion.

Gruß,

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#5

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 11:23
@Tonic: Welches Betriebssystem? Die AV könnte daher kommen, dass ich ein paar EXTERNALs drin habe und dein OS keine passende DLL hat. Ich habs auf Win 7 x64 laufen ohne AV. Wenn Helligkeit funzt und Power nicht könnte es sein, der Bildschirm kann den MCCS-Befehl nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#6

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 11:28
Ein Vista Business 32Bit ist es. Hab aber später noch weitere Systeme (verschiedene Betriebssysteme und Monitore) im Zugriff, die ich testen kann.

Auch wenn mich das Thema interessiert muss ich gestehen, dass ich nicht viel Überblick drüber habe... Wo finde ich heraus was mein Monitor kann und was nicht? Oder muss man das einfach ausprobieren?

Planst du deinen Code zu veröffentlichen?


Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#7

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 12:16
Ich hatte ja gefragt, ob Interesse an einer Veröffentlichung besteht. Bisher hat noch keiner die Hand gehoben.

Was die Fähigkeiten der Monitor-Firmware angeht: Ich suche schon nach einer Möglichkeit, die unterstützten Befehle abzufragen. Mit der Funktion CapabilitiesRequestAndCapabilitiesReply soll das gehen. Daraus bekommt man so eine Art REST-String (hier ein Samsung SyncMaster 2232BW):
Code:
(
  prot(monitor)
  type(LCD)
  model(PEBBLE)
  mccs_ver(2.0)
  vcp(
    04 05 08 10 12 14(02 03 0A 0B)
    16 18 1A 60(01 03)
    87 B0(01 02)
    B6 C6 C8 C9 D6(01 04)
    DC(01 02 03 04 05 06 F0)
    DF F0(00 01 02 03)
    F3(00 01)
    F2
  )
  mswhql(1)
)
Und hier ein Fujitsu-Siemens P19-2:
Code:
vcp(
  04 05 08 0E 10 12 14(01 02 05 06 08 0B)
  16 18 1A 60 62 6C 6E 70 94 AA AC AE B2 B6 C0 C6 C8 C9 CA CC D6 DF F0 F6
)
vcp_p2(
  37 38 39 3B
)
type(LCD)
mccs_ver(2.0)
asset_eep(64)
mpu(0.20)
Wie man sieht, sind die in ihrem Aufbau je nach Hersteller verschieden. Dadurch wird das Parsing ein wenig lästig. Ich werde aber mal eine V5-Testanwendung bauen, die den MCCS-Caps-String mit in der Detailliste ausgibt.

Der VCP-Code für Power-On/Off/Standby/Suspend ist "D6". Wie man sieht, unterstützt der SyncMaster dafür nur die Werte "01" und "04" (Power-On und Power-Off), der Fujitsu grenzt es nicht ein, unterstützt also alle 4 Modes.

Jetzt kommts aber: Sowohl SyncMaster als auch Fujitsu unterstützen in der Praxis auch die Werte "02" und "03" (Power-Standby und Power-Suspend). Insofern ist der VCP-Caps-String alles andere als zuverlässig.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz