I have a 4K television (and a Steam Controller) and I need to swap between display modes depending on what I am doing with the TV:

  • 4K @60Hz (4:2:2), PC gaming, 4K video playback
  • 4K @30Hz (4:4:4), coding
  • 1080P FHD, if I happen to be sitting on the couch, movies, etc.
  • 1080P FHD @120Hz, because I feel like it

I am running windows 7 now. My experience with this so far is starting to convince me that it may finally be time to let go of this venerable, stable operating system. It has served me well until now. I run (an old version of) VirtualBox to test Linux servers with this Windows 7 host machine. The uptime routinely reaches months at a time. Before I get off on too much of a tangent...

I have tried various windows programs such as Resolution Changer SX2 and Hotkey Resolution Changer. HRC eventually stops working, which is worse than simply not working at all to begin with (which is what RC SX2 does). I tried using AHK scripts which make WinAPI calls to change the resolution, but that also has the behavior of functioning for a while and then it stops working, or does not work at all, and AHK isn't really debuggable.

My quest is to find either a background utility or a command line program that can properly cycle through these resolutions so that I can trigger it using my Steam Controller.

This is a major limiting aspect to the user experience of my HTPC now.

Many tools half-work, but many either (1) do not give the ability to use 3840x2160 as a resolution, likely because they are software that has been abandoned for many years and those devs did not dream up of this resolution at the time, because clearly it wouldn't occur to them to use proper APIs to look up the OS-provided list of supported resolutions, or (2) does not provide the ability to set refresh rate.

Brownie points if such software is also capable of properly choosing my TV to perform these resolution changes on and not the two other monitors I usually have hooked up.

Also welcome are any testimonials about being able to have this capability on Windows 10. I may be a pessimist. I wouldn't be surprised if this is just as difficult to pull off there.


I've finally had success with nircmd (download link at bottom of that page). This works flawlessly from the command line, now I just have to write an AHK bind to invoke it.

  • Good ol NirSoft! – Moab Jan 18 '16 at 2:06
  • Still working on this, AHK script language is a really frustrating language, but I will be able to get a really usable message box or toggle interface for my custom resolutions so I think I'll be very happy very soon – Steven Lu Jan 18 '16 at 2:09
  • Yep I'm done now and it works great! link to my ahk nircmd is great, I do recall using it in the past to have a command i can run to shut off monitors from the software side without having to worry about whether a timeout assertion was set by a media player application or somesuch. Naturally that knowhow was lost to me upon nuking that particular windows installation. – Steven Lu Jan 18 '16 at 2:35
  • You should make notes! – Moab Jan 18 '16 at 15:06
  • well i have that gist where ive stashed my AHK script now. For everything I do outside of windows the configuration files (and notes which go in as comments all over the place) get checked into git. – Steven Lu Jan 18 '16 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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