14
4
I'd like to create a keyboard shortcut to quickly and easily change the DPI scale on my machine, by means of creating a small macro to run upon detection of the keyboard shortcut.
In Windows 8.1, the desktop display DPI scale can be set via the control panel (pictured below), taking effect immediately. Alternatively, the scale can be set manually in the registry, but doing so requires that the user sign in and out or restart the machine in order to take effect (and only works to imitate the "one scaling level for all my displays" option).
How can I set the DPI scale via the command line, or otherwise programmatically?
Are you sure the changes take place immediately? I get a dialog saying "You must sign out of your computer to apply these changes" – Vinayak – 2014-08-24T18:30:35.860
@Vinayak, The changes take place immediately when applied by the above dialog. I do recall reading that the immediate-application is new to Windows 8.1 over standard Windows 8, so if you're interested it researching that difference between your machine and mine, that could be a place to start. – FThompson – 2014-08-24T18:58:33.927
@Vulcan Actually, I am using Windows 8.1. However, I was trying to make changes after clicking on the
Let me choose one scaling level...
checkbox as the slider above it is greyed out on my notebook. – Vinayak – 2014-08-24T19:02:38.430Have you tried making the registry change, killing the explorer process, then starting it again. Because thats all the GUI method would do in theory. – Ramhound – 2014-05-27T22:50:22.620
@Ramhound No luck. The GUI interface is definitely doing something to refresh the desktop in order to apply the setting, but I'm not sure what and haven't been able to find anything about it. – FThompson – 2014-05-27T23:33:59.003