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

¿Alguna forma de cambiar la resolución de la pantalla de Windows a través de la línea de comandos?

Estoy usando el programa Live Mesh de Microsoft para acceder remotamente a una PC con Windows 7, que funciona en 2 pantallas: una con una resolución de 1920x1080 y la otra de 1920x1200.

Estoy accediendo a ellas a través de un viejo portátil con una resolución de 1024x1078. El resultado son unos iconos/comandos tan pequeños que es difícil intentar cambiar la resolución de la pantalla de 2 pantallas de alta resolución a una sola pantalla de baja resolución.

Sería genial si hubiera una forma de hacer esto por línea de comandos. O tal vez haya una manera de hacerlo a través de una malla viva. ¿Alguna idea?

Respuestas (7)

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

Usa QRes y luego di,

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

La herramienta gratuita nircmd puede hacer esto. Para cambiar la pantalla a 1024 x 768 con una profundidad de color de 24 bits:

nircmd.exe setdisplay 1024 768 24

nircmd también tiene otras funciones muy numerosas.

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

Encontré un Muestra de guión de Windows Powershell , proporcionado por Microsoft Technet, que es capaz de cambiar la resolución de la pantalla.

La mejor manera de invocarlo, encontré, era desde un script Powershell separado, que se ve así:

## 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: había guardado el script de Microsoft como Set-ScreenResolution.ps1)

Entonces desde la línea de comandos o Start->Run puedes invocar el segundo script de Powershell, al que he llamado Invoke-Set-ScreenResolution.ps1 así (el param -noexit es bueno al principio para la depuración, pero puede que quieras eliminarlo más tarde dependiendo de si quieres que se cierre la ventana de comandos):

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

Utilicé una combinación de Qres.exe y Sleep.exe (póngalos en su carpeta de Windows) en los archivos de inicio por lotes para cambiar la resolución entre 2 usuarios. Organiza tu escritorio, como quieres que sea en cada reinicio.

En DesktopOK ve a Opciones y marca “Restaurar por inicio de Windows”, haz clic con el botón derecho del ratón en el recién creado “Diseño de icono” y haz clic en “Usar esto para”: Restaurar al inicio de Windows". En este punto necesitarás también marcar “Iniciar DesktopOK con Windows”. Las dos últimas opciones se desmarcarán automáticamente por el Startup Delayer más adelante.

Ahora localiza DesktopOK en el Startup Delayer y haz clic con el botón derecho del ratón en “Retrasar”.

Ahora sólo queda una cosa por hacer, hacer tu archivo por lotes de inicio.

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

Por supuesto que necesitarás ponerlo en tu carpeta de inicio, la razón por la que el proceso es tan extenso con los iconos es porque DesktopOK no puede manejar el cambio de resolución, y quiere mover los iconos mientras se cambia la resolución, por lo que necesitábamos retrasar el inicio del registro, y esta es la única manera que encontré. No me atrevo a decir que esta es la mejor manera, pero sí digo que funciona, no encontré otra manera, y se me ocurrió el proceso a mí mismo. Se evita cada aspecto de la situación reemplazando los iconos donde pertenecen por usuario.

¡Gracias por ser tan flexible Microsoft!

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

Intenta Cambiador de pantalla 2 , que puede hacer esto, así como iniciar un programa y cambiar la resolución de nuevo cuando se deja de ejecutar (que PUEDE ser capaz de trabajar con la malla, pero YMMV)

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

Mientras que alguien ya mencionó el nircmd de Nirsoft, la mejor herramienta de Nirsoft para este propósito es MultiMonitorTool .

Soporta multi-monitor, configuraciones guardadas, 32 y 64 bit, cambios de resolución, activación y orientación, etc.

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

Ninguna de las herramientas ya mencionadas tenía todo lo que necesitaba, así que encontré mi propia solución: ChangeScreenResolution. exe

*Ejemplos: *

Cambiar la resolución de pantalla de todos los monitores a 800x600px

ChangeScreenResolution.exe /w=800 /h=600

Cambiar la resolución de pantalla de todos los monitores a 800x600px con una frecuencia de actualización de 60Hz y una profundidad de color de 32 bits

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

Establecer la profundidad de color de la pantalla con el índice 1 a 16bit

ChangeScreenResolution.exe /b=16 /d=1

** Vista general rápida de las opciones:**

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)