Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
Bildschirmaufl├Âsung ├ñndern
-
MonsterMagnet
- Plugin Developer
- Posts: 137
- Joined: Fri Feb 10, 2006 12:04 pm
Bildschirmaufl├Âsung ├ñndern
Eigentlich nicht weiter tragisch, aber wenn ich mit EG die Bildschirmaufl├Âsung ├ñndere, wird nach einem Neustart von Windows der zuvoreingestellte Modus benutzt.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Ich bin gerade dabei diesen ganzen Bildschirm-Kram zu ├╝berarbeiten, um eine bessere Unterst├╝tzung f├╝r Multi-Monitor-Systeme zu erreichen. Vorrangig geht es mir darum:
1. Monitore deaktivieren zu k├Ânnen
2. Monitore aktivieren zu k├Ânnen.
3. Den primären Monitor zu setzen.
Und dann den Punkt, den ich eigentlich aufschieben wollte:
4. Die Position der Monitore zu setzen.
Der Punkt 4. ist nicht so einfach, weil es ja unendlich viele M├Âglichkeiten gibt die Monitore anzuorden und man da mit ein paar Parameter-Boxen in einem Dialog kaum eindeutige Angaben machen kann.
Punkt 1. ist einfach und klappt auch soweit. Punkt 3. hapert noch etwas, aber das wird wohl auch klappen. Aber Punkt 2. bringt mich dann wieder zu Punkt 4., denn wenn man drei Monitore hat, den mittleren deaktiviert und ihn dann wieder aktivieren will, dann muss man auch sagen, wo er angeordnet werden soll. Denn Windows schmeißt den deaktivierten natürlich an die Seite.
Nach langem Gr├╝beln, kam mir dann die Idee die Sache vielleicht ganz anders anzufassen:
Man l├ñ├ƒt den User alle Settings (Anordnung der Bildschirme, welcher ist der Prim├ñre, welche Aufl├Âsung und Wiederholrate, etc.) ├╝ber den normalen Windows-Dialog machen. Die Aktion kriegt dann einfach einen Button "Speichere aktuelle Bildschirm-Einstellungen" und EG kann dann alle Parameter enumerieren um sie sp├ñter beim Ausf├╝hren der Aktion wieder herzustellen.
Ist eigentlich f├╝r den User das einfachste, da er sich so schnell ein paar Presets machen kann.
Ein Problem wird es nur geben, wenn er sich eine neue/andere Grafikkarte einbaut oder aber die Hardware neu erkannt wird und sich dabei unter Umst├ñnden die Display-Numerierung ├ñndert. Dann geht die Sache beim Ausf├╝hren sicher ganz b├Âse schief. Aber ich glaube damit k├Ânnte man leben, weil es nur sehr selten vorkommt und der User dann sicher auch schnell seine Aktionen wieder neu setzen kann.
Was haltet ihr von dem Ansatz?
1. Monitore deaktivieren zu k├Ânnen
2. Monitore aktivieren zu k├Ânnen.
3. Den primären Monitor zu setzen.
Und dann den Punkt, den ich eigentlich aufschieben wollte:
4. Die Position der Monitore zu setzen.
Der Punkt 4. ist nicht so einfach, weil es ja unendlich viele M├Âglichkeiten gibt die Monitore anzuorden und man da mit ein paar Parameter-Boxen in einem Dialog kaum eindeutige Angaben machen kann.
Punkt 1. ist einfach und klappt auch soweit. Punkt 3. hapert noch etwas, aber das wird wohl auch klappen. Aber Punkt 2. bringt mich dann wieder zu Punkt 4., denn wenn man drei Monitore hat, den mittleren deaktiviert und ihn dann wieder aktivieren will, dann muss man auch sagen, wo er angeordnet werden soll. Denn Windows schmeißt den deaktivierten natürlich an die Seite.
Nach langem Gr├╝beln, kam mir dann die Idee die Sache vielleicht ganz anders anzufassen:
Man l├ñ├ƒt den User alle Settings (Anordnung der Bildschirme, welcher ist der Prim├ñre, welche Aufl├Âsung und Wiederholrate, etc.) ├╝ber den normalen Windows-Dialog machen. Die Aktion kriegt dann einfach einen Button "Speichere aktuelle Bildschirm-Einstellungen" und EG kann dann alle Parameter enumerieren um sie sp├ñter beim Ausf├╝hren der Aktion wieder herzustellen.
Ist eigentlich f├╝r den User das einfachste, da er sich so schnell ein paar Presets machen kann.
Ein Problem wird es nur geben, wenn er sich eine neue/andere Grafikkarte einbaut oder aber die Hardware neu erkannt wird und sich dabei unter Umst├ñnden die Display-Numerierung ├ñndert. Dann geht die Sache beim Ausf├╝hren sicher ganz b├Âse schief. Aber ich glaube damit k├Ânnte man leben, weil es nur sehr selten vorkommt und der User dann sicher auch schnell seine Aktionen wieder neu setzen kann.
Was haltet ihr von dem Ansatz?
sicher einfacher, als alles mit etlichen Schalten einzustellen.
Hauptsache man kann es danach auch wieder auslesen und nicht irgendeine vorherige Einstellung
Hast du da mal geforscht?
Hauptsache man kann es danach auch wieder auslesen und nicht irgendeine vorherige Einstellung
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Das Problem mit dem Auslesen liegt daran, dass man bei Multi-Monitor-Systemen nur ├╝ber das Schreiben in die Registry etwas erreicht. Eigentlich sollte ich also die Checkbox rausnehmen und immer in die Registry schreiben lassen.
Dieser temporäre Modus geht anscheinend nur für einen Bildschirm.
Und wahrscheinlich (aber das muss ich noch testen) gibt es Probleme, wenn man die Aufl├Âsung eines Monitors einzeln ├ñndert und sich dadurch die Position angrenzender Monis zwangsl├ñufig ├ñndert. Wahrscheinlich muss ich dann immer alle Monitore setzen.
Dieser temporäre Modus geht anscheinend nur für einen Bildschirm.
Und wahrscheinlich (aber das muss ich noch testen) gibt es Probleme, wenn man die Aufl├Âsung eines Monitors einzeln ├ñndert und sich dadurch die Position angrenzender Monis zwangsl├ñufig ├ñndert. Wahrscheinlich muss ich dann immer alle Monitore setzen.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Ach ja, zum Auslesen der momentanen Werte gibt es auch eine neue Funktion:
eg.WinAPI.Display.GetDisplayModes()
Sie gibt ein Tuple zur├╝ck mit einem Element f├╝r jedes Display und jedes Element ist wiederum ein Tupel mit den Daten, die man auch in dem "Set Display Preset" Befehl sieht. Sollte also einfach zu entschl├╝sseln sein.
eg.WinAPI.Display.GetDisplayModes()
Sie gibt ein Tuple zur├╝ck mit einem Element f├╝r jedes Display und jedes Element ist wiederum ein Tupel mit den Daten, die man auch in dem "Set Display Preset" Befehl sieht. Sollte also einfach zu entschl├╝sseln sein.