Readme
Readme
Readme
30
Copyright (c) 2017 - 2021 Nir Sofer
Web site: https://www.nirsoft.net
Description
===========
ControlMyMonitor allows you view and modify the settings of your monitor
(Also known as 'VCP Features'), like brightness, contrast, sharpness,
red/green/blue color balance, and more... You can modify the monitor
settings from the GUI and from command-line. You can also export all
settings of your monitor into a configuration file and then later load
the same configuration back into your monitor.
System Requirements
===================
Versions History
================
* Version 1.30:
o When there is a DDC/CI error (Error codes like 0xC0262582,
0xC0262583), the error description is now displayed in the status bar
in addition to the error code.
o You can also click the error code with the mouse in order to copy
the error code and error description to the clipboard.
* Version 1.29:
o Added option to choose another font (name and size) to display in
the main window.
* Version 1.28:
o Fixed some display issues in high DPI mode (Toolbar and status
bar).
* Version 1.27:
o Added /TurnOff command-line option to turn off the specified
monitor.
o Added /TurnOn command-line option to turn on the specified
monitor.
o Added /SwitchOffOn command-line option to switch the specified
monitor between on and off state.
* Version 1.26:
o When ControlMyMonitor fails to get the current monitor settings,
error code is now displayed in the status bar.
* Version 1.25:
o Added 'Put Icon On Tray' option.
* Version 1.20:
o Added /SwitchValue command-line option, which allows you to
switch between multiple values.
o For example, in order to switch the monitor off when it's turned
on and switch it on when it's turned off, use the following command:
(On some monitors you should use 4 instead of 5)
ControlMyMonitor.exe /SwitchValue "\\.\DISPLAY1\Monitor0" D6 1 5
* Version 1.17:
o When pressing F5 (Refresh) the refresh process is smoother,
keeping the last selected item.
o Added 'Load Selected Monitor On Start' option.
* Version 1.16:
o Added /GetValue command-line option, which returns the current
value of the specified VCP Code, for example:
ControlMyMonitor.exe /GetValue "\\.\DISPLAY1\Monitor0" 10
echo %errorlevel%
* Version 1.15:
o Added /SetValueIfNeeded command-line option, which sets a value
only if the current value is different from the value you want to set.
* Version 1.12:
o Added 'Add Header Line To CSV/Tab-Delimited File' option (Turned
on by default).
* Version 1.11:
o Added /smonitors command-line option to save the monitors list
into a text file.
o Added 'Save All Items' option (Shift+Ctrl+S).
* Version 1.10:
o Added save command-line options (/scomma, /stab , /shtml, and so
on...) to export the current monitor settings into a file.
o Added support for JSON file in 'Save Selected Items' option.
* Version 1.05:
o Added 'Refresh Monitors List' option (Ctrl+F5).
There are some write-only items that allow you to restore the factory
defaults of the monitor. In order to activate these items, you have to
set the value to 1.
Save/Load Config
================
If you get error 0xc0262582 (or similar codes) and the main window of
ControlMyMonitor is empty, it means that Windows operating system cannot
connect your monitor using DDC/CI.
Here's what you can do in order to try to solve the problem:
* Update the driver of your graphics card.
* Try to plug your monitor using different type of cable/connector
(VGA, DVI, HDMI, DisplayPort).
* If you use a KVM switch, try to plug your monitor directly to the
computer, without the KVM switch.
If you have only one monitor, you can use 'Primary' as your monitor
string in all command-line options.
If you have multiple monitors, you have to find a string that uniquely
identifies your monitor. Open ControlMyMonitor , select the desired
monitor and then press Ctrl+M (Copy Monitor Settings). Paste the string
from the clipboard into notepad or other text editor. You'll see
something like this:
You can use any string from this list as long as the other monitors on
your system have different values for the same property.
Set the contrast of the monitor with serial number 102ABC335 to 65:
ControlMyMonitor.exe /SetValue "102ABC335" 12 65
Turn off the \\.\DISPLAY2\Monitor0 monitor: (On some monitors you should
set the value to 4 instead of 5)
ControlMyMonitor.exe /SetValue "\\.\DISPLAY2\Monitor0" D6 5
For example, this command switches the monitor between off (5) and on (1)
state:
ControlMyMonitor.exe /SwitchValue "\\.\DISPLAY1\Monitor0" D6 1 5
Example:
ControlMyMonitor.exe /TurnOff "\\.\DISPLAY3\Monitor0"
Example:
ControlMyMonitor.exe /TurnOn "\\.\DISPLAY1\Monitor0"
Example:
ControlMyMonitor.exe /SwitchOffOn "\\.\DISPLAY2\Monitor0"
/smonitors <Filename>
Save the current monitors list into a simple text file.
For all save command-line options, you can specify empty filename in
order to send the data to stdout, for example:
ControlMyMonitor.exe /scomma "" | more
There is also an option to get the current value of the specified VCP
Code with GetNir tool. The value is sent to stdout.
For example, the following command sends the current monitor brightness
to stdout:
ControlMyMonitor.exe /stab "" | GetNir "Current Value" "VCPCode=10"
Disclaimer
==========
The software is provided "AS IS" without any warranty, either expressed
or implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The author will not
be liable for any special, incidental, consequential or indirect damages
due to loss of data or any other reason.
Feedback
========