Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:windowsclient:buttonres]] 

Bildschirmauflösung am Windows Client mit ButtonRes verwalten

ButtenRes ist ein in Lazarus geschriebenes Programm mit 2 Einsatzmöglichkeiten:

  1. als Kommandozeilentool die Bildschirmauflösung setzen
  2. als Widget auf dem Desktop eine Auflösungsumschaltung realisieren

Zur Realisierung der Auflösungsumschaltung benötigt ButtonRes eine ini-Datei. Die Auflösung kann darin entweder mit der Mode-Nummer oder mit einem Zahlenquartett (X-Auflösung,y-Auflösung,Farbtiefe in Bit,Frequenz) angegeben werden. Zum Testen der Modi und zum Debugen die Optionen ModeListing und debug auf 1 setzen. Negative Positionsangaben zählen von rechts oder unten, positive von links oder oben. Mit FixedPosition =1 wird erreicht, dass sich ButtonRes nach Auflösungsänderung wieder richtig positioniert.

Download → Version 0.23

buttonres.ini
[Programm]
Name="Bildschirm"
width = 200
xpos = -10
ypos = -40
FixedPosition = 1
Hintergrundfarbe = $FFFFFF
TaskBarAusblenden = 1
debug = 0
ModeListing = 0
 
# BorderStyle : none | single
BorderStyle = "single"
 
# ButtonAnzahl maximal 20
ButtonAnzahl = 3
 
[Button1]
Name = "1920x1080(32/60)"
Mode = 113
 
[Button2]
Name = "1440x900(32/60)"
Mode=110
 
[Button3]
Name = "1280x960(32/60)"
Resolution = "1280,960,32,60"

Nach dem Start des Programms erscheint ein Tray-Icon mit Popupmenue, bei dem Programm-Informationen abgerufen werden können, wie z.B. die verfügbaren Auflösungen.

Vier Varianten des Einsatzes

1.) Ausführen mit grafischen Buttons am Desktop, eine buttonres.ini-Datei muss im Programmverzeichnis existieren:

 buttonres.exe

2.) Ausführen mit grafischen Buttons am Desktop unter Verwendung einer alternativen ini-Datei (hier z.B. client123.ini):

 buttonres.exe client123.ini

3.) Ausführen als Kommandozeilentool unter Verwendung einer ini-Datei (hier z.B. client123.ini). Es werden keine Buttons am Desktop erzeugt und die Auflösung des Buttons Nr. 1 in der ini-Datei wird automatisch gesetzt, debug-Option in der ini-Datei kann verwendet werden. Eine ini-Datei muss als erster Parameter angegeben werden.

 buttonres.exe client123.ini --exit

4.) Ausführen als Kommandozeilentool unter Verwendung einer Auflösungsangabe. Es werden keine Buttons am Desktop erzeugt und die angegebene Auflösung wird automatisch gesetzt. Zusätzlich kann noch ein debug-Parameter verwendet werden.

 buttonres.exe 1920,1080,32,60 --exit
 buttonres.exe 1920,1080,32,60 --exit --debug

ButtonRes bei mehreren Bildschirmen

Version 0.22 ist noch nicht ausführlich für mehrere Bildschirme getestet, lief aber unter Windows 7 oder Windows 10 stabil. Bei Windows XP muss das Spiegeln/Erweitern per Systemsteuerung manuell gemacht werden.

Wenn während der Ausführung des Programms die Grafik-Modi durch Windows geändert werden, stürzt das Programm u.U. ab. (Tritt z.B. durch die Hardwareerkennung eines neuen Monitors auf)

Folgende Funktionalitäten werden per Button unterstützt:

  1. Desktop kann auf einen weiteren Monitor/Device erweitert oder gespiegelt werden (ab Windows 7)
  2. die Auflösung kann bei jedem Device separat angegeben werden (per Mode oder per Resolution)
  3. Spiegelung oder Erweiterung kann wieder abgeschaltet werden
  4. Erweiterung und Auflösungssetzung kann kombiniert werden
  5. das Device kann per Nummer („2“) oder per Namen (z.B. „\\.\DISPLAY2“) angegeben werden

Die Desktop-Erweiterung/Spiegelung wird dabei mit dem Programm „C:\Windows\System32\DisplaySwitch.exe“ realisiert (existiert nicht unter Windows XP). Je nach Grafikkarte sind jedoch nicht immer alle Kombinationen zwischen den verschiedenen Monitoren möglich. Eine Umstellung auf einem Monitor hat dann u.U. auch Auswirkungen auf den zweiten Monitor, der sich dann anpasst.

buttonres.ini
[Programm]
Name="Bildschirme"
width = 200
xpos = -110
ypos = -140
FixedPosition = 0
Hintergrundfarbe = $FFFFFF
TaskBarAusblenden = 1
debug = 1
ModeListing = 1
 
# BorderStyle : none | single
BorderStyle = "single"
 
# ButtonAnzahl maximal 20
ButtonAnzahl = 4
 
[Button1]
Name = "Erweitern"
# Switch Varianten: extend|clone|internal|external|auswahl
Switch = extend
 
[Button2]
Name = "1440x900(32/60)"
Device = "\\.\DISPLAY1"
Mode=110
 
[Button3]
Name = "1920x1080(32/60)"
Device = 1
Resolution = "1920,1080,32,60"
 
[Button4]
Name = "1280x960(32/60)"
Device = 2
Resolution = "1280,960,32,60"

Ausführen als Kommandozeilentool

Mit dem Parameter „exit“ werden keine Buttons erzeugt, das Programm beendet sich nach den Aktionen selbst.

buttonres.exe client123.ini --exit
buttonres.exe clone --exit
buttonres.exe 1024,768,32,60 \\.\DISPLAY2 --exit --debug
buttonres.exe 1024,768,32,60 2 --exit --debug
buttonres.exe extend 1024,768,32,60 2 --exit --debug

Alternative und weitere Hinweise zum Einsatz → multires

Multi Monitor Tool → http://www.nirsoft.net/utils/multi_monitor_tool.html

 [[anwenderwiki:windowsclient:buttonres]] anwenderwiki/windowsclient/buttonres.txt · Zuletzt geändert: 2016/05/28 23:11 von 127.0.0.1