2009-12-30 11:12:38 +0000 2009-12-30 11:12:38 +0000
28
28

Gibt es eine Möglichkeit, die Windows-Bildschirmauflösung über die Befehlszeile zu ändern?

Ich benutze Microsofts Programm Live Mesh, um per Fernzugriff auf einen PC unter Windows 7 zuzugreifen, der auf zwei Bildschirmen läuft: einem mit einer Auflösung von 1920x1080 und dem anderen mit 1920x1200.

Ich greife auf sie über einen alten Laptop mit einer Auflösung von 1024x1078 zu. Das Ergebnis sind so winzige Symbole/Befehle, dass es schwierig ist, zu versuchen, die Bildschirmauflösung von zwei hochauflösenden Bildschirmen auf einen einzigen niedrigauflösenden Bildschirm zu ändern.

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

Antworten (7)

30
30
30
2009-12-30 11:48:39 +0000

Verwenden Sie QRes und sagen Sie dann,

QRes.exe /x:800 /y:600
17
17
17
2009-12-30 13:57:24 +0000

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

nircmd.exe setdisplay 1024 768 24

nircmd hat noch weitere sehr zahlreiche Funktionen.

8
8
8
2018-01-12 19:01:12 +0000

Ich habe ein Windows Powershell-Skriptbeispiel gefunden, das von Microsoft Technet zur Verfügung gestellt wird und die Bildschirmauflösung ändern kann.

Die beste Möglichkeit, es aufzurufen, fand ich in einem separaten Powershell-Skript, das wie folgt 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 als Set-ScreenResolution.ps1 gespeichert)

Dann können Sie von der Befehlszeile oder Start->Ausführen das zweite Powershell-Skript aufrufen, das ich Invoke-Set-ScreenResolution.ps1 wie folgt benannt habe (der Parameter -noexit eignet sich anfangs gut zum Debuggen, aber Sie können ihn später entfernen, je nachdem, ob das Befehlsfenster geschlossen werden soll oder nicht):

powershell -noexit -ExecutionPolicy Bypass & C:\[your-path]\Invoke-Set-ScreenResolution.ps1
5
5
5
2011-07-08 08:59:02 +0000

Ich habe eine Kombination aus Qres.exe und Sleep.exe (legen Sie diese in Ihren Windows-Ordner) in Startup-Batch-Dateien verwendet, um die Auflösung bei 2 Benutzern zu ändern. … 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 wollen, ich habe meinen ‘Benutzer’-Ordner benutzt. Organisieren Sie Ihren Desktop so, wie Sie ihn bei jedem Neustart haben möchten.

In DesktopOK gehen Sie zu Optionen und markieren Sie “Beim Windows-Start wiederherstellen”, klicken Sie mit der rechten Maustaste auf das neu erstellte “Symbol-Layout” und klicken Sie auf “Verwenden Sie dies für”: Wiederherstellen beim Windows-Start". An dieser Stelle müssen Sie auch “DesktopOK mit Windows starten” ankreuzen. Die beiden letzteren Optionen werden später vom Startup Delayer automatisch deaktiviert.

Suchen Sie nun DesktopOK im Startup Delayer und klicken Sie mit der rechten Maustaste auf “Verzögerung”.

Jetzt bleibt Ihnen nur noch eines zu tun, Ihre Startup-Batch-Datei zu erstellen.

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

Natürlich müssen Sie die Datei in Ihrem Startordner ablegen. Der Grund dafür, dass der Prozess mit den Symbolen so umfangreich ist, liegt darin, dass DesktopOK mit der Auflösungsumschaltung nicht umgehen kann und die Symbole verschieben möchte, während die Auflösung geändert wird, daher mussten wir den Start der Registrierung verzögern, und dies ist der einzige Weg, den ich gefunden habe. Ich wage 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 selbst ausgedacht. Es umgeht jeden Aspekt der Situation, indem es Symbole dort ersetzt, wo sie pro Benutzer hingehören.

Danke, dass Sie so flexibel sind, Microsoft!

4
4
4
2009-12-30 11:43:39 +0000

Versuchen Sie es mit Display Changer 2 , der dies tun kann, und starten Sie ein Programm und ändern Sie die Auflösung wieder zurück, wenn es nicht mehr läuft (was Sie MACHTEN können, wenn Sie mit Mesh arbeiten, aber YMMV)

2
2
2
2016-05-07 11:56:42 +0000

Während jemand bereits Nirsoft’s nircmd erwähnt hat, ist das beste Tool von Nirsoft für diesen Zweck MultiMonitorTool .

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

2
2
2
2016-03-01 09:37:22 +0000

Keines der bereits erwähnten Werkzeuge hatte alles, was ich brauchte, also habe ich mir meine eigene Lösung ausgedacht: ChangeScreenResolution. exe

*Beispiele: *

Bildschirmauflösung aller Monitore auf 800x600px ändern

ChangeScreenResolution.exe /w=800 /h=600

Bildschirmauflösung aller Monitore auf 800x600px mit Bildwiederholrate von 60Hz und 32bit Farbtiefe ändern

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

Farbtiefe der Anzeige mit Index 1 auf 16bit setzen

ChangeScreenResolution.exe /b=16 /d=1

Schnellübersicht der 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)