I need to change my screen's resolution from the command prompt, I've tried QRes and NirCmd and both weren't able to change the screen resolution (i've already checked the syntax). Is there any way to it?

  • 2
    what do you mean "They didn't work"?? Add details please – Registered User Feb 17 '17 at 17:59
  • ScriptingGuy on Resolution: "For better or worse (and yes, we agree that this qualifies as “for worse”) there’s no built-in way to change the screen resolution using a script. Sorry." Although that is from 2005, pre-dating Windows 10, so maybe the situation's changed. here has some possible solutions (if reboot acceptable)? – TOOGAM Jul 31 '17 at 6:37

You can try the free tool I developed: http://tools.taubenkorb.at/change-screen-resolution/

Just call it like this:

ChangeScreenResolution.exe /w=800 /h=600

| improve this answer | |
  • Working solution right here. – Alex Jul 16 '19 at 20:13

I've NirCmd and it wasn't able to change the screen resolution

Actually nircmd from nirsoft can change the screen resolution:

setdisplay {monitor:index/name} [width] [height] [color bits] {refresh rate} {-updatereg} {-allusers}

Changes your display settings.

  • The [width] and [height] parameters represents the number of pixels on your screen.

  • The [color bits] parameter represents the number of colors shown on your screen (8 - 256 color, 16 - 16bit color, 24 - 24bit color, and so on).

  • {refresh rate} is an optional parameter that specifies the monitor refresh rate.

  • If you specify the {-updatereg} parameter, the new settings will be saved in the Registry.

  • If you specify both {-updatereg} and {-allusers} parameters, the new settings will be saved in the Registry for all users.

  • If you have multiple monitors, you can use the optional monitor parameter, which specifies for which monitor you want to change the display settings.

    You can specify the monitor by index (0 for the first monitor, 1 for the second one, and so on) or by specifying a string in the system monitor name.

    The monitor name can be found in the Device manager of Windows: Right click on the monitor item, and then choose 'Properties'. The string displayed in the 'location' field is the monitor name.


setdisplay 800 600 24 -updatereg
setdisplay 1024 768 24 90
setdisplay 1024 768 8
setdisplay monitor:1 1024 768 24 90
setdisplay monitor:name1 1024 768 24 90

Source NirCmd Command Reference - setdisplay


I am not affiliated with nirsoft in any way, I am just an end user of their software.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.