Is a way to quickly set refresh rate instead of right-click on Desktop
Screen Resolution -> Advanced Settings -> Monitorand in center Monitor Settings screen refresh rate with dropdown
Or just only to show Advanced Settings with Monitor tab
And is it possible to do it in .bat?
5 Answers
This is the closest I've been able to do.
I've created a text file.
typed in:
desk.cpl
Then Save as
desk.cpl
Make sure it saves as
.cpland not as.cpl.txt
Double click it, and it shows you Screen resolution settings.
EDIT: Found this a minute ago, you might want to give it a try.
3Is there a way to quickly get the refresh rate?
You can do this from a cmd shell or in a batch file using wmic.
Example:
> wmic PATH Win32_videocontroller get currentrefreshrate
CurrentRefreshRate
60Is there a way to quickly set the refresh rate?
nircmd from nirsoft can be used to set the refresh rate.
NirCmd Command Reference - setdisplay
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.
Examples:
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
Disclaimer
I am not affiliated with nirsoft in any way, I am just an end user of their software.
Further Reading
- An A-Z Index of the Windows CMD command line - An excellent reference for all things Windows cmd line related.
- wmic - Windows Management Instrumentation Command.
Own answer
For other people
Yes it is possible I did this in .bat:
ChangeScreenResolution.exe /f=75 /d=0ChangeScreenResolution.exe must be downloaded
It not must be 75 in /f (but different than you have refresh rate) don't forget about /d
Thanks for ChangeScreenResolution.exe
Is there a way to quickly get the refresh rate?
This is possible using vbscript:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_VideoController")
For Each objItem in colItems objItem.CurrentHorizontalResolution Wscript.Echo "Current: " & objItem.CurrentRefreshRate objItem.InstalledDisplayDrivers Wscript.Echo "Max: " & objItem.MaxRefreshRate Wscript.Echo "Min: " & objItem.MinRefreshRate
NextJust take that and save it in a file anyname.vbs
Make sure it has the extension vbs
In Notepad, when you save, just use quotes (") save like this "yourfilename.vbs"
Then you can just double click (single click if you have stettings set to that) on the file and you should get popup boxes telling you the current refresh rate, Max and Min the refresh rate can be.
This is very suboptimal but can be somehow useful.
- Type command (in terminal or by Win+R):
This opens generic monitor properties dialog, see image. (rundll32.exe display.dll, ShowAdapterSettings 0`0is an index of monitor #1). - Refresh rates are in "Monitor" tab
- (bonus) You can check supported configurations for monitor by pressing "List of modes" button.