Est-il possible de changer la résolution d'écran de Windows via la ligne de commande?


28

J'utilise le programme Live Mesh de Microsoft pour accéder à distance à un PC exécutant Windows 7, fonctionnant sur 2 écrans: l'un avec une résolution de 1920x1080 et l'autre avec une résolution de 1920x1200.

J'y accède via un vieil ordinateur portable avec une résolution de 1024x1078. Le résultat est des icônes / commandes si minuscules qu'il est difficile d'essayer de changer la résolution d'écran de 2 écrans haute résolution à un affichage basse résolution unique.

Ce serait formidable s'il y avait un moyen en ligne de commande de le faire. Ou peut-être existe-t-il un moyen de faire du maillage en direct. Des idées?

Réponses:


30

Utilisez QRes puis dites:

QRes.exe /x:800 /y:600

Un petit utilitaire qui fait exactement ce dont j'ai besoin.
Bill Rodman

5
Je combine cet utilitaire avec la commande Windows7 DisplaySwitch.exe: "C: \ Windows \ System32 \ DisplaySwitch.exe / internal" pour basculer exclusivement vers le moniteur principal.
Bill Rodman

Displayswitch.exe possède également des paramètres de ligne de commande qui vous permettent de créer un raccourci qui définira un mode d'affichage spécifique. / interne / clone / étendre / externe
JJS

5
Ne fonctionne pas avec Windows x64.
Fantius

La dernière version semble fonctionner correctement sur Windows 10 64 bits. - Cela ne semble pas être un moyen de s'adresser à un moniteur individuel. Cela fonctionne toujours contre l'écran principal. - Le hack que d'autres ont posté (utilisez DisplaySwitch) semble pouvoir fonctionner, tant que vous n'avez que deux moniteurs ...
BrainSlugs83

17

L' outil gratuit nircmd peut le faire.
Pour changer l'affichage à 1024 x 768 avec une profondeur de couleur de 24 bits:

nircmd.exe setdisplay 1024 768 24

nircmd a également d'autres fonctions très nombreuses.


1
si vous utilisez un ordinateur portable comme le mien qui ne prend pas en charge les couleurs 24 bits. Vous devrez peut-être modifier le 24 en 32 - nircmd.exe setdisplay 1024 768 32
Julian

Pourquoi ce n'est pas changé de façon permanente? Mais une application temporaire?
YumYumYum

8

J'ai trouvé un exemple de script Windows Powershell , fourni par Microsoft Technet, capable de modifier la résolution d'écran.

J'ai trouvé que la meilleure façon de l'invoquer était à partir d'un script Powershell séparé, qui ressemble à ceci:

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

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

(Notez que j'avais enregistré le script Microsoft sous Set-ScreenResolution.ps1)

Ensuite, à partir de la ligne de commande ou Démarrer-> Exécuter, vous pouvez invoquer le deuxième script Powershell, que j'ai nommé Invoke-Set-ScreenResolution.ps1comme ceci (le -noexitparamètre est bon au début pour le débogage, mais vous pouvez le supprimer plus tard selon que vous voulez la fenêtre de commande fermer):

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

1
Juste ce que le médecin a souscrit, merci beaucoup!
Larphoid

5

J'ai utilisé une combinaison de Qres.exe et Sleep.exe (mettez-les dans votre dossier Windows) dans les fichiers de commandes de démarrage pour changer la résolution entre 2 utilisateurs. Le script réel est le suivant:

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

(Alors que la copie basse résolution est Qres.exe /x:800 /y:600)

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

Si vous voulez que vos icônes restent où vous le souhaitez ... lisez la suite.
Vous aurez besoin de deux autres téléchargements:



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

Installez Startup Delayer et placez DesktopOK où vous voulez, j'ai utilisé mon dossier "utilisateur". Organisez votre bureau,

Dans DesktopOK, allez dans Options et cochez "Restaurer au démarrage de Windows", faites un clic droit sur la "Disposition des icônes" nouvellement créée et cliquez sur "Utiliser ceci pour: Restaurer au démarrage de Windows".
À ce stade, vous devrez également cocher «Démarrer DesktopOK avec Windows». Les deux dernières options seront décochées automatiquement par de Startup Delayer plus tard.

Localisez maintenant DesktopOK dans Startup Delayer et faites un clic droit sur "Delay".

Maintenant, il ne reste plus qu'une chose à faire, créez votre fichier de commandes de démarrage.

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


Bien sûr, vous devrez le mettre dans votre dossier de démarrage, la raison pour laquelle le processus est si étendu avec les icônes est que DesktopOK ne peut pas gérer le commutateur de résolution et veut déplacer les icônes pendant que la résolution est modifiée, nous avions donc besoin pour retarder le démarrage du registre, et c'est le seul moyen que j'ai trouvé. Je n'ose pas prétendre que c'est la meilleure façon, mais je prétends que cela fonctionne, je n'ai trouvé aucune autre façon et j'ai trouvé le processus moi-même. Il contourne chaque aspect de la situation en remplaçant les icônes auxquelles elles appartiennent par utilisateur.

Merci d'être si flexible Microsoft!


4

Essayez Display Changer 2 , qui peut le faire, ainsi que démarrer un programme et changer la résolution quand il est arrêté de fonctionner (que vous pouvez peut-être travailler avec le maillage, mais YMMV)


2

Aucun des outils déjà mentionnés n'avait tout ce dont j'avais besoin, alors j'ai trouvé ma propre solution: ChangeScreenResolution.exe

Exemples:

Changez la résolution d'écran de tous les moniteurs en 800x600px

ChangeScreenResolution.exe /w=800 /h=600

Changez la résolution d'écran de tous les moniteurs à 800x600px avec un taux de rafraîchissement de 60 Hz et une profondeur de couleur de 32 bits

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

Définir la profondeur de couleur d'affichage avec un index de 1 à 16 bits

ChangeScreenResolution.exe /b=16 /d=1 

Aperçu rapide des options:

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)

Je n'ai pas testé votre solution, mais +1 pour avoir créé la vôtre :)
Thomas

Eh bien, j'ai fini par le tester et je le préfère aux autres options ci-dessus en termes de simplicité. Cependant, cela n'a pas fonctionné pour moi (un problème de carte graphique de mon côté). Pourtant, super petit utilitaire!
Thomas

@Thomas quel était le problème? Si vous utilisez tous les appareils, cela doit fonctionner pour tous. Vous devriez voir dans la sortie si un adaptateur échoue. Dans mes cas, c'était toujours virtuel. Je peux voir si je peux fournir un correctif pour cela.
Alexander Taubenkorb

1
Quelle est la licence de votre utilitaire?
Michael Lucas

1
@MichaelLucas, il n'y a pas de licence réelle, mais vous pouvez l'utiliser comme bon vous semble ;-) Merci de demander!
Alexander Taubenkorb

1

Alors que quelqu'un a déjà mentionné le nircmd de Nirsoft, le meilleur outil de Nirsoft à cet effet est MultiMonitorTool .

Il prend en charge plusieurs moniteurs, les configurations enregistrées, 32 et 64 bits, les changements de résolution, d'activation et d'orientation, etc.


Les autres outils mentionnés n'ont pas fonctionné pour moi, mais celui-ci a fonctionné. Excellent outil pour changer les résolutions d'écran en un éclair - merci pour la publication.
Moshe Rubin

0

Digne de noter que la solution à travers intégré dans la wmiccommande de W de M anagement I de nstrumentation

wmic desktopmonitor create screenheight=1024, screenwidth=768

Bien que cela puisse entraîner:

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

dans certains "fournisseurs"


2
Ne marche pas. J'ai essayé avec admin ou sans mais pareil.
YumYumYum
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.