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
Seite 3 von 3     123   
Benutzerbild von Tonic1024
Tonic1024

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

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 12: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.272 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 13: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
Benutzerbild von Tonic1024
Tonic1024

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

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 14:19
Ich seh schon. Da ist Handarbeit gefragt... Ich hab, nach meinen missglückten Versuchen mit dem Code von Meta, nochmal explizit nach den D6 Values geschaut. Meine beiden typgleichen Monitore gleichen Kaufdatums melden sich da einmal mit 01 04 und einmal mit 01 03. Schon ein wenig verwunderlich.

Also ich hätte da direkt schon eine Projekt-Idee zu dem Thema und würde spontan Interesse anmelden.

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.272 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 20. Dez 2012, 14:46
Also ich hab bei meinen Experimenten zuerst die Funktion realisiert, die aktuellen Werte aus dem Monitor auszulesen. Bevor ich dann experimentellerweise irgendwas ändere rufe ich erstmal den Stand ab, speichere ihn irgendwo zwischen, schicke meinen Änderungsbefehl und per Timer nach 10 Sekunden die Rücksetzung auf die Ausgangswerte. So muss man nachher bei einem Fehlversuch nicht so viel am OSD-Menü rumfummeln.

Ich muss mal schauen ob ich über Weihnachten wenn ich mehr Zeit habe, ein Sourceforge-Projekt dafür aufsetze, damit hat man dann ein SVN.

Allerdings gebe ich zu bedenken, dass die VESA-Standards "nicht so ganz" öffentlich sind. Man findet sie zwar als PDF aber immer auf "irgendwelchen" Seiten. Jetzt frag mich bloß keiner, ob die clientseitige Implementierung lizenzpflichtig ist oder nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 21. Dez 2012, 16:12
So kleines Update noch vor meinem Urlaub:

Ich habe die Komponente ja ursprünglich auf Delphi 7 entwickelt, hab sie jetzt aber soweit portiert, dass sie auch auf XE2 x64 kompiliert. Alle bisherigen Features laufen da genauso. Allerdings nur in einer reinen ANSI-Version, da das Monitor-API in der Wide-Version Probleme macht.

Ein Sourceforge-Projekt mach ich über die Feiertage mal auf. Bis dahin, alles Gute und frohes Fest.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 8. Jan 2013, 10:15
So, den Code zum eigentlichen MultiMon Manager habe ich jetzt erstmal unter die GPLv3 gestellt und bei SourceForge veröffentlicht.

http://sourceforge.net/p/multimonman...s/Development/

Ob es bei der GPLv3 bleibt weiß ich noch nicht. Fürs Erste habe ich noch die Option offengelassen, es außerhalb der GPLv3 zu verwenden wenn man mich vorher fragt. Aber da es ohnehin noch im Alpha-Status ist wirds ja keiner in einem Produktiv-Prjekt verwenden wollen oder?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 8. Jan 2013, 10:54
Ob es bei der GPLv3 bleibt weiß ich noch nicht. Fürs Erste habe ich noch die Option offengelassen, es außerhalb der GPLv3 zu verwenden wenn man mich vorher fragt. Aber da es ohnehin noch im Alpha-Status ist wirds ja keiner in einem Produktiv-Prjekt verwenden wollen oder?
Bitte noch MPL oder Apache an. Nur mit GPL ist es für alle User gestorben die Closed Source-SW entwickeln.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#28

AW: Multi-Monitor-Umgebung: Bestimmten Monitor abschalten

  Alt 8. Jan 2013, 11:13
Bitte noch MPL oder Apache an. Nur mit GPL ist es für alle User gestorben die Closed Source-SW entwickeln.
Ganz entspannt bleiben Kaum stößt Bernhards Runtime auf das Keyword "GPL" wirft sie gleich eine EInvalidLicenseModel aus ^^

Also bitte EInvalidLicenseModel in die Liste der ignorierten Exceptions aufnehmen und weiter lesen
Delphi-Quellcode:
{
  This file is part of MultiMon Manager, Copyright 2013 Codehunter Works.

  Original filename is MonitorManager.pas published by Codehunter Works
  at 01-08-2013 (MM-DD-YYYY).

  MultiMon Manager is dual licensed under the Terms of GPL version 3 and
  simultaneously under a proprietary Software License. If you wish to use
  MultiMon Manager in commercial and/or closed source Projects, you must
  contact Codehunter Works via codehunter@gmx.net to get a Professional
  License.

  ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 16:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz