Kann die Skalierung der Anzeige über die Befehlszeile geändert werden?

2318
Justin

Ich habe ein Notebook mit einem 2560 x 1440 Display, das an 2 externe 1080p-Monitore angeschlossen ist. Die Skalierung ist normalerweise normal, der native Monitor liegt bei 125% und die 1080p-Monitore bei 100%, aber wenn ich den Laptop abkoppele, geht der Laptop manchmal auf 200% Skalierungsfaktor und ich muss ihn manuell in den Anzeigeeinstellungen zurücksetzen.

Ich würde gerne einen Befehl finden, der die Einstellung hier emuliert, so dass ich nicht jedes Mal mit der rechten Maustaste auf den Desktop klicken und die Anzeigeeinstellungen öffnen muss, wenn ich meine externen Monitore trenne:

Kann die Skalierung der Anzeige über die Befehlszeile geändert werden?

Die einzigen Registrierungsschlüssel / PowerShell-Befehle, die ich für dieses Problem gefunden habe, setzen voraus, dass das Abmelden wirksam wird. Dies scheint nicht erforderlich zu sein, da die GUI-Einstellung sofort wirksam werden kann.

1
Sie stellen eine Off-Topic-Frage (Software-Shopping). Fragen, die Produkt-, Service- oder Lernmaterialempfehlungen suchen, sind nicht thematisch. Siehe [Zum Thema] (https://superuser.com/help/on-topic). Versuchen Sie es mit https://softwarerecs.stackexchange.com/, aber lesen Sie zuerst [Was ist erforderlich, damit eine Frage "genug Informationen enthält"] (https://softwarerecs.meta.stackexchange.com/questions/336/what-is- Erforderlich-für-eine-Frage-enthalten-genug-Informationen). DavidPostill vor 5 Jahren 0
Die "Dienstprogramm" -Frage wurde entfernt, ich wollte sie einfach offen halten, falls es Software gibt, die diese Aufgabe leicht ausführen könnte. Justin vor 5 Jahren 0

1 Antwort auf die Frage

2
Pimp Juice IT

Nachfolgend finden Sie ein Stapelskript, das die Tastaturanschläge zum Manipulieren der GUI zum Anpassen der Skalierungs- und Layoutoptionen sowie zum Ändern der Größe oder des Texts, der Apps und anderer Elemente bei der Ausführung emuliert . Hiermit wird ms-settings:displayder Anzeigebildschirm geöffnet, und dann wird die Tabulatortaste einmal und der Aufwärtspfeil fünfmal gedrückt. Verwenden Sie dazu die Sendetasten, um die Skala entsprechend anzupassen. Es wird Alt + F4 an den Endetasten gedrückt, um den Bildschirm zu schließen, sobald der Vorgang abgeschlossen ist. Diese Methode erstellt ein dynamisches vb-Skript mit einem Stapelskript und führt dann das vb-Skript mit cscript aus, um das Drücken der Tastaturtasten zu emulieren.


Batch-Skript

Hinweis: Speichern Sie dies einfach in einer Textdatei mit der Erweiterung .batoder .cmdund führen Sie es zur Ausführung aus.

@ECHO OFF  explorer ms-settings:display ping -n 2 127.0.0.1 > nul  :VBSDynamicBuild SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%" ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%" ECHO Wscript.Sleep 500 >>"%TempVBSFile%" ECHO WshShell.SendKeys "" >>"%TempVBSFile%" ECHO Wscript.Sleep 500 >>"%TempVBSFile%" ECHO WshShell.SendKeys "%%" >>"%TempVBSFile%"  CSCRIPT //nologo "%TempVBSFile%" EXIT 

Weitere Ressourcen

@Justin - Lassen Sie mich wissen, wie es läuft, wenn Sie dies testen. Das `und das ` müssen möglicherweise angepasst werden, aber von einem größeren Maßstab auf einen kleineren Maßstab auf meinem System waren es nur ein Tab und dann ein paar Pfeiltasten nach oben, aber ich stelle 5 ein, weil es einmal nach oben gehen kann bei 100% mehr als das und es bleibt bei 100% nach dem, was ich getestet habe. Die Zahl ["#"] neben "" oder "" gibt an, wie oft die Taste auf der GUI gedrückt werden muss, um zu jeder Option zu gelangen, so dass diese auf Ihrem System unterschiedlich sein können Aber ich habe so gut wie möglich getestet, und das scheint mir gut zu gehen. Pimp Juice IT vor 5 Jahren 0
Perfekt. Ich musste es ein wenig ändern, um mehr s zu senden, aber das wird definitiv den Trick tun. Justin vor 5 Jahren 0