Wie kann die Windows-Bildschirmauflösung über die Befehlszeile geändert werden?


28

Ich verwende das Live Mesh-Programm von Microsoft, um remote auf einen PC mit Windows 7 zuzugreifen, der auf zwei Bildschirmen ausgeführt wird: einem mit einer Auflösung von 1920 x 1080 und dem anderen mit einer Auflösung von 1920 x 1200.

Ich greife über einen alten Laptop mit einer Auflösung von 1024x1078 auf sie zu. Das Ergebnis sind so kleine Symbole / Befehle, dass es schwierig ist, die Bildschirmauflösung von 2 hochauflösenden Anzeigen auf eine einzelne niedrigauflösende Anzeige zu ändern.

Es wäre großartig, wenn es eine Befehlszeile dafür gäbe. Oder vielleicht gibt es einen Weg durch Live-Mesh, um es zu tun. Irgendwelche Ideen?

Antworten:


30

Nutze QRes und sage dann:

QRes.exe /x:800 /y:600

Ein kleines Dienstprogramm, das genau das tut, was ich brauche.
Bill Rodman

5
Ich kombiniere dieses Dienstprogramm mit dem Windows7-Befehl "DisplaySwitch.exe": "C: \ Windows \ System32 \ DisplaySwitch.exe / internal", um ausschließlich zum Hauptmonitor zu wechseln.
Bill Rodman

Displayswitch.exe verfügt auch über Befehlszeilenparameter, mit denen Sie eine Verknüpfung erstellen können, mit der ein bestimmter Anzeigemodus festgelegt wird. / internal / clone / extend / external
JJS

5
Funktioniert nicht mit Windows x64.
Fantius

Die neueste Version scheint unter Windows 10 64-Bit einwandfrei zu funktionieren. - Scheint jedoch keine Möglichkeit zu sein, einzelne Monitore anzusprechen. Es funktioniert immer nur gegen den primären Bildschirm. - Der Hack, den andere gepostet haben (benutze DisplaySwitch), scheint zu funktionieren, solange du nur zwei Monitore hast ...
BrainSlugs83

17

Das nircmd- Freeware-Tool kann dies tun.
So ändern Sie die Anzeige auf 1024 x 768 mit einer Farbtiefe von 24 Bit:

nircmd.exe setdisplay 1024 768 24

nircmd hat auch andere sehr zahlreiche Funktionen.


1
Wenn Sie einen Laptop wie meinen verwenden, der keine 24-Bit-Farben unterstützt. Möglicherweise müssen Sie die Anzeige von 24 auf 32 ändern - nircmd.exe setdisplay 1024 768 32
Julian

Warum ist es nicht dauerhaft geändert? Aber vorübergehend bewerben?
YumYumYum

7

Ich habe ein Windows Powershell-Skriptbeispiel von Microsoft Technet gefunden, mit dem die Bildschirmauflösung geändert werden kann.

Der beste Weg, es aufzurufen, war ein separates Powershell-Skript, das so aussieht:

## This loads the function (defined in another script)
. C:\[YOUR-PATH]\Set-ScreenResolution

## invoke with width and height
Set-ScreenResolution -Width 1680 -Height 1050

(Hinweis, ich hatte das Microsoft-Skript gespeichert als Set-ScreenResolution.ps1)

Über die Befehlszeile oder Start-> Ausführen können Sie dann das zweite Powershell-Skript aufrufen, das ich so benannt Invoke-Set-ScreenResolution.ps1habe (der -noexitParameter eignet sich zunächst zum Debuggen, Sie können ihn jedoch später entfernen, je nachdem, ob Sie das Befehlsfenster verwenden möchten schließen):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1

1
Genau das, was der Arzt abonniert hat, vielen Dank!
Larphoid

5

Ich habe eine Kombination aus Qres.exe und Sleep.exe (in den Windows-Ordner kopieren ) in Start-Batch-Dateien verwendet, um die Auflösung zwischen zwei Benutzern zu ändern. Das eigentliche Skript lautet wie folgt:

@echo off
sleep 2
QRes.exe /x:1280 /y:960

(Während die niedrigauflösende Kopie ist Qres.exe /x:800 /y:600)

------------------------------------- -------------------------------------------------- ------------------------------------
-------------- -------------------------------------------------- -------------------------------------------------- -------------

Wenn Sie möchten, dass Ihre Symbole dort bleiben, wo Sie möchten ... lesen Sie weiter.
Sie benötigen zwei weitere Downloads:



-> Startup Delayer:
http://www.snapfiles.com/php/download.php?id=103272&a=7130353&tag=7329208&loc=2

-> DesktopOK
http://www.softwareok.com /?Download=DesktopOK&goto=../Download/DesktopOK.zip

Installieren Sie Startup Delayer und platzieren Sie DesktopOK, wo immer Sie möchten. Ich habe meinen Benutzerordner verwendet. Organisieren Sie Ihren Desktop,

Gehen Sie in DesktopOK zu Optionen und kreuzen Sie "Restore by Windows Startup" an, klicken Sie mit der rechten Maustaste auf das neu erstellte "Icon Layout" und klicken Sie auf "Use this for: Restore at Windows Startup".
An dieser Stelle müssen Sie auch "DesktopOK mit Windows starten" aktivieren. Die beiden letzteren Optionen werden später von Startup Delayer automatisch deaktiviert.

Suchen Sie nun DesktopOK in Startup Delayer und klicken Sie mit der rechten Maustaste darauf.

Jetzt müssen Sie nur noch eine Sache erledigen: Ihre Start-Batch-Datei erstellen.

@echo off
sleep 2
QRes.exe /x:1280 /y:960
sleep 1
"C:\Program Files\r2 Studios\Startup Delayer\Startup Launcher.exe" /LaunchApps=Common


Natürlich müssen Sie es in Ihrem Startordner ablegen. Der Grund dafür, dass der Prozess mit den Symbolen so umfangreich ist, ist, dass DesktopOK den Auflösungsschalter nicht handhaben kann und Symbole verschieben möchte, während die Auflösung geändert wird den Start der Registrierung zu verzögern, und dies ist der einzige Weg, den ich gefunden habe. Ich wage es nicht zu behaupten, dass dies der beste Weg ist, aber ich behaupte, dass es funktioniert, ich habe keinen anderen Weg gefunden, und ich habe mir den Prozess ausgedacht. Es umgeht jeden Aspekt der Situation, indem Symbole dort ersetzt werden, wo sie pro Benutzer gehören.

Vielen Dank, dass Sie so flexibel sind, Microsoft!


4

Versuchen Sie es mit Display Changer 2 , der dies kann. Starten Sie auch ein Programm und ändern Sie die Auflösung wieder, wenn es nicht mehr ausgeführt wird (möglicherweise können Sie mit mesh, aber YMMV arbeiten).


2

Keines der bereits erwähnten Tools hatte alles, was ich brauchte, und so kam ich auf meine eigene Lösung: ChangeScreenResolution.exe

Beispiele:

Ändern Sie die Bildschirmauflösung aller Monitore auf 800x600px

ChangeScreenResolution.exe /w=800 /h=600

Ändern Sie die Bildschirmauflösung aller Monitore auf 800 x 600 Pixel mit einer Bildwiederholfrequenz von 60 Hz und einer Farbtiefe von 32 Bit

ChangeScreenResolution.exe /w=800 /h=600 /f=60 /b=32

Stellen Sie die Farbtiefe der Anzeige mit Index 1 bis 16 Bit ein

ChangeScreenResolution.exe /b=16 /d=1 

Schneller Überblick über die Optionen:

Possible options (you can set OR query)
  Setting options
    /w=<width>      Width in pixel       eg 800
    /h=<height>     Height in pixel      eg 600
    /f=<frequency>  display refresh rate eg 60
    /b=<bpp>        bits per pixel       eg 32

  Querying options
    /l              list all connected display devices
    /m              list all available mode settings

  Filtering options
    /d=<device>     devices to modify/query, separated by comma, eg:
                      all (default)
                      0 (monitor with index 0, see option /l)
                      0,2 (monitors with index 0 and 2)
                      \\.\DISPLAY1 (name of display, see option /l)

Ich habe Ihre Lösung nicht getestet, aber +1 für das Erstellen Ihrer eigenen :)
Thomas

Nun, am Ende habe ich es getestet und es der Einfachheit halber den anderen Optionen vorgezogen. Allerdings hat es bei mir nicht funktioniert (ein Problem mit dem Bildschirmadapter auf meiner Seite). Trotzdem, tolles kleines Hilfsprogramm!
Thomas

@ Thomas was war das Problem? Wenn Sie alle Geräte verwenden, muss dies für alle funktionieren. Sie sollten in der Ausgabe sehen, ob ein Adapter ausfällt. In meinen Fällen war es immer ein virtueller oder so. Ich kann sehen, ob ich dafür Abhilfe schaffen kann.
Alexander Taubenkorb

1
Was ist die Lizenz für Ihr Dienstprogramm?
Michael Lucas

1
@MichaelLucas, es gibt keine aktuelle Lizenz, aber du kannst sie nutzen, wie du willst ;-) Danke für deine Anfrage!
Alexander Taubenkorb

1

Während jemand bereits Nirsoft der NirCmd erwähnt, ist das beste Werkzeug aus Nirsoft zu diesem Zweck MultiMonitorTool .

Es unterstützt Multi-Monitor, gespeicherte Konfigurationen, 32- und 64-Bit, Änderungen in der Auflösung, Aktivierung und Ausrichtung usw.


Die anderen erwähnten Tools haben bei mir nicht funktioniert, aber dieses hat funktioniert. Hervorragendes Tool zum blitzschnellen Ändern der Bildschirmauflösung - danke für das Posten.
Moshe Rubin

0

Worthy die Lösung durch Einbau-beachten wmicBefehl von W indows M anagement I nstrumentierung

wmic desktopmonitor create screenheight=1024, screenwidth=768

Dies kann jedoch zur Folge haben:

ERROR:
Description = Provider is not capable of the attempted operation

in einigen "Anbietern"


2
Funktioniert nicht. Versucht mit admin oder ohne aber gleich.
YumYumYum
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.