Laden...

Auflösung für nur einen Monitor ändern

Erstellt von Starfight vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.387 Views
S
Starfight Themenstarter:in
62 Beiträge seit 2005
vor 7 Jahren
Auflösung für nur einen Monitor ändern

Mahlzeit zusammen.
Ich habe sehr viel gesucht, ausprobiert und wieder verworfen, für ein eigentlich banales Problem.
Ich muß ein bestimmtes Programm in einer geringeren Auflösung laufen lassen.
Wenn ein Benutzer also das Programm XYZ startet, soll der Monitor, auf dem das Programm gestartet wird, in eine andere Auflösung wechseln.
Aktuelle Auflösung ist 1920 x 1080, gewünscht wäre z.B. 1680 x 1050.
Ich habe diverse Tools gefunden, die zwar die Auslösung ändern können, aber immer nur für ALLE angeschlossenen Monitore oder für den Hauptmonitor. Ein Programm konnte ich sogar den Namen des Monitors eingeben, für den die Änderung gelten soll. Nützt aber nichts, wenn 3 angeschlossene Monitore den selben Namen haben.

Nun, Windows kann es ja, jedem Monitor eine eigene Auflösung geben, also sollte es doch Programmiertechnisch auch machbar sein.
Am liebsten wäre mir eine Consolenanwendung, die erst die Auslösung ändert, dann das Programm nach startet und nach Beendigung des Programms wieder die vorherige Auflösung einstellt.
Natürlich sollte das ganze auch ohne Neustart des Computers gehen, also ein Registery Hack wäre da wohl eher nicht so angebracht, denke ich.

Tja, wo setzt man da nun an. Eine Funktion im NET Framework scheint es nicht zu geben.

4.931 Beiträge seit 2008
vor 7 Jahren

Analog zu Zweiten Monitor deaktivieren empfehle ich dir auch .NET Wrapper for ChangeDisplaySettingsEX mal auszuprobieren.

PS: Hier der direkte P/Invoke-Link: ChangeDisplaySettingsEx

So wie ich das interpretiere benötigt man aber jeweils den (eindeutigen) DeviceName...

S
Starfight Themenstarter:in
62 Beiträge seit 2005
vor 7 Jahren

Sieht auf jeden Fall schon mal sehr Interessant aus. Danke für den Tipp, ich schau mir das gleich mal genauer an.