Qualche modo per modificare la risoluzione dello schermo di Windows tramite riga di comando?


28

Sto utilizzando il programma Microsoft Live Mesh per accedere in remoto a un PC con Windows 7, in esecuzione su 2 schermi: uno con risoluzione 1920x1080 e l'altro 1920x1200.

Li accedo tramite un vecchio laptop con risoluzione 1024x1078. Il risultato sono icone / comandi così piccoli che è difficile provare a cambiare la risoluzione dello schermo da 2 display ad alta risoluzione al singolo display a bassa risoluzione.

Sarebbe bello se ci fosse un modo da riga di comando per farlo. O forse c'è modo attraverso live mesh per farlo. Qualche idea?

Risposte:


30

Usa i QR quindi dì

QRes.exe /x:800 /y:600

Una piccola utility che fa esattamente quello di cui ho bisogno.
Bill Rodman,

5
Combino questa utility con il comando DisplaySwitch.exe di Windows 7: "C: \ Windows \ System32 \ DisplaySwitch.exe / interno" per passare esclusivamente al monitor principale.
Bill Rodman,

Displaywitch.exe ha anche i parametri della riga di comando che consentono di creare un collegamento che imposterà una modalità di visualizzazione specifica. / internal / clone /
extension

5
Non funziona con Windows x64.
Fanzio,

L'ultima versione sembra funzionare bene su Windows 10 a 64 bit. - Tuttavia, non sembra essere un modo per rivolgersi e monitorare individualmente. Funziona sempre solo contro lo schermo principale. - L'hacking pubblicato da altri (utilizzare DisplaySwitch) sembra che funzioni, a patto che tu abbia solo due monitor ...
BrainSlugs83

17

Lo strumento freeware nircmd può fare questo.
Per cambiare il display a 1024 x 768 con una profondità di colore di 24 bit:

nircmd.exe setdisplay 1024 768 24

nircmd ha anche altre funzioni molto numerose.


1
se stai usando un laptop come il mio che non supporta il colore a 24 bit. Potrebbe essere necessario modificare da 24 a 32 - nircmd.exe setdisplay 1024 768 32
Julian

Perché non è cambiato in modo permanente? Ma temporaneo si applica?
YumYumYum

8

Ho trovato un esempio di script di Windows Powershell , fornito da Microsoft Technet, in grado di modificare la risoluzione dello schermo.

Ho scoperto che il modo migliore per invocarlo era da uno script Powershell separato, che assomiglia a questo:

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

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

(Nota che avevo salvato lo script Microsoft come Set-ScreenResolution.ps1)

Quindi dalla riga di comando o Start-> Esegui puoi invocare il secondo script Powershell, che ho chiamato in Invoke-Set-ScreenResolution.ps1questo modo (il -noexitparametro è buono inizialmente per il debug, ma potresti volerlo rimuovere in seguito a seconda che tu voglia la finestra di comando chiudere):

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

1
Proprio quello che il dottore ha sottoscritto, grazie mille!
Larphoid,

5

Ho usato una combinazione di Qres.exe e Sleep.exe ( inserendoli nella cartella Windows) nei file batch di avvio per modificare la risoluzione tra 2 utenti. Lo script effettivo è il seguente:

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

(Considerando che la copia a bassa risoluzione è Qres.exe /x:800 /y:600)

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

Se vuoi che le tue icone rimangano dove vuoi ... continua a leggere.
Avrai bisogno di altri due download:



-> 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

Installa Startup Delayer e posiziona DesktopOK dove preferisci, ho usato la mia cartella "utente". Organizza il tuo desktop,

In DesktopOK vai su Opzioni e spunta "Ripristina all'avvio di Windows", fai clic con il pulsante destro del mouse sul "Layout icona" appena fatto e fai clic su "Usa questo per: Ripristina all'avvio di Windows".
A questo punto dovrai anche selezionare "Avvia DesktopOK con Windows". Le due opzioni successive verranno deselezionate automaticamente da Startup Delayer in seguito.

Ora trova DesktopOK in Startup Delayer e fai clic con il tasto destro del mouse su "Delay".

Ora c'è solo una cosa da fare, creare il file batch di avvio.

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


Ovviamente dovrai metterlo nella tua cartella di avvio, il motivo per cui il processo è così esteso con le icone è perché DesktopOK non è in grado di gestire l'interruttore della risoluzione e vuole spostare le icone mentre la risoluzione viene modificata, quindi abbiamo bisogno ritardare l'avvio del registro e questo è l'unico modo che ho trovato. Non oso affermare che sia il modo migliore, ma sostengo che funzioni, non ho trovato altro modo e ho escogitato il processo da solo. Aggira ogni aspetto della situazione sostituendo le icone a cui appartengono per utente.

Grazie per essere così flessibile Microsoft!


4

Prova Display Changer 2 , che può fare questo, così come avviare un programma e modificare la risoluzione quando viene interrotta (che potresti essere in grado di far funzionare con mesh, ma YMMV)


2

Nessuno degli strumenti già menzionati aveva tutto ciò di cui avevo bisogno, quindi ho trovato la mia soluzione: ChangeScreenResolution.exe

Esempi:

Cambia la risoluzione dello schermo di tutti i monitor a 800x600px

ChangeScreenResolution.exe /w=800 /h=600

Cambia la risoluzione dello schermo di tutti i monitor a 800x600px con frequenza di aggiornamento di 60Hz e profondità di colore a 32 bit

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

Imposta la profondità del colore del display con indice da 1 a 16 bit

ChangeScreenResolution.exe /b=16 /d=1 

Panoramica rapida delle opzioni:

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)

Non ho testato la tua soluzione, ma +1 per crearne una tua :)
Thomas

Bene, ho finito per testarlo e preferirlo rispetto alle altre opzioni sopra in termini di semplicità. Tuttavia, non ha funzionato per me (un problema con l'adattatore del display da parte mia). Comunque, grande piccola utilità!
Thomas

@Thomas qual era il problema? Se usi tutti i dispositivi, deve funzionare per tutti loro. Dovresti vedere nell'output se un adattatore fallisce. Nel mio caso era sempre virtuale o così. Posso vedere se posso fornire una soluzione per questo.
Alexander Taubenkorb,

1
Qual è la licenza per la tua utility?
Michael Lucas,

1
@MichaelLucas, non esiste una licenza reale, ma puoi usarla come vuoi ;-) Grazie per avermelo chiesto!
Alexander Taubenkorb,

1

Mentre qualcuno ha già menzionato il nircmd di Nirsoft, lo strumento migliore di Nirsoft per questo scopo è MultiMonitorTool .

Supporta multi-monitor, configurazioni salvate, 32 e 64 bit, modifiche di risoluzione, attivazione e orientamento, ecc.


Gli altri strumenti citati non hanno funzionato per me, ma questo ha funzionato. Ottimo strumento per modificare le risoluzioni dello schermo in un lampo, grazie per la pubblicazione.
Moshe Rubin,

0

Degno di nota la soluzione attraverso incorporato wmiccomando W indows M anagement I nstrumentation

wmic desktopmonitor create screenheight=1024, screenwidth=768

Sebbene possa comportare:

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

in alcuni "fornitori"


2
Non funziona. Ho provato con admin o senza ma lo stesso.
YumYumYum
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.