Download Portable Version
can be run without Installation
Download Setup Version
uses Windows Install/Uninstall
Click taskbar notification
icons to adjust the real monitor-backlight-brightness/contrast
or use mouse wheel over notification icon to increase/decrease corresponding value,
much more comfortable and faster than manually messing around with monitor buttons,
works with external monitors (DDC-protocol) and Laptop-LCD-display.
The notification icons inform you about the monitor values,
you simply look at the icons to check if the wanted values are already set.
You can change monitor values by using sliders or clicking buttons,
but you can also create powerful command lines, which can be used in batch files
or popup menu entries or be appended in icon properties shortcut target.
You can also define hot keys or mouse wheel combinations for executing command-lines,
this even works in fullscreen-games!
A command line can consist of multiple arguments, for instance b 20 c 30
sets monitor brightness 20 and contrast 30.
b + 6 c - 8 increases actual brightness by 6 and decreases contrast by 8
optionally you can prepend monitorname, modelname, serialnumber or monitornumber.
2 b + 10 increases brightness of second monitor by 10
PL2779Q b 36 sets brightness 36 for monitor with name PL2779Q
use for monitorname or modelname or serialnumber at least two chars.
select monitor-color-profile, for instance p 6500K
change user-profile-colors, r for red, g for green, bl or l for blue, range 0-255
select monitor-input s HDMI1 s DisplayPort1 s DVI1 (or HDMI2 DisplayPort2 DVI2)
v 90 sets volume to 90%, v + 10 increases volume by 10%, v-8 decreases by 8%
m for mute volume, u for unmute, x for shutting off monitors, q quits program.
t b 0 c 0 t b 90 c 80 toggles between b 0 c 0 and b 90 c 80
ClickMonitorDDC requires Windows 7, 8 or 10.
You use this software at your own risk, I disclaim any responsibility for any harm.
You are allowed to use and spread this program for free.
|If you are using multiple monitors,||b||+ or -||0 up to 100||sets brightness.|
|you can start command-line with||c||+ or -||0 up to 100||sets contrast.|
|selecting a special monitor,|
|the following arguments will be||p||6500K||select a color-temperature,|
|applied to this selected monitor.||possible temperatures are listed|
|If you do not select a monitor,||in ClickMonitorDDC-RGB-area,|
|the monitor under cursor can be||if you want to create your own color-temperature,|
|auto-selected (option in Settings).||select User-color-temperature and modify colors|
|You can select a Monitor by Monitorname,||by changing red/green/blue-luminance.|
|Modelname, Serialnumber or Monitornumber.||r||+ or -||0 up to 255||sets red-luminance.|
|Monitorname is listed in||g||+ or -||0 up to 255||sets green-luminance.|
|ClickMonitorDDC-window.||bl or l or i||+ or -||0 up to 255||sets blue-luminance.|
|If you pause the mouse pointer over|
|the listed monitor there will appear||s||HDMI1||select a monitor-input, usable input-names|
|a tooltip-window with Modelname,||are listed in ClickMonitorDDC-RGB-area.|
|Serialnumber and so on, but not all|
|Monitors deliver these informations.||v||+ or -||0 up to 100||sets volume|
|Monitornumber means position of the||m||mutes volume|
|listed monitor, but using monitornumber||u||unmutes volume|
|is not recommended, because sometimes|
|Windows changes positions.||x||all monitors off (or specify monitorname x)|
|When specifying Monitorname, Modelname||q||terminates ClickMonitorDDC|
|or Serialnumber, omit spaces,||z||restarts ClickMonitorDDC|
|for instance HP w2207||f||restore default Monitor-factory-settings|
|must be written as HPw2207||?||notification about current brightness/contrast/volume|
|or use "HP w2207"|
|t||for instance t b 0 c 0 t b 90 c 80|
|toggles between b 0 c 0 and b 90 c 80|
|d||returns current Monitor-brightness,|
|e||returns current Monitor-contrast,|
|may be useful in batch files.|
|You can use multiple arguments in one commandline (maximum length 259 chars), for instance PL2779Q b + 10 c - 5 HPw2207 b 23 c 49|
For controlling your monitor over monitorcable, a fully functional graphics driver has to be installed, (AMD, NVIDIA, INTEL should work)
and make sure your monitor has DDC/CI-protocol enabled, also your monitor must support MCCS (VESA Monitor Control Command Set),
but monitors differ in implementing MCCS, so not all arguments may work, especially selecting color-profiles and inputs are often not fully supported,
besides some monitors offer predefined game and film-modes with fixed values, which prevents some arguments from working.
ClickMonitorDDC is managed by its notification icons, therfore make sure that these icons are not hidden, but shown on the taskbar notification area.
windows 7: right click taskbar, click properties, click customize notification area,
windows 10: right click taskbar, Settings, Select which icons appear on the taskbar.
If you want to change the sequence of taskbar icons, simply drag and drop the icon.
ClickMonitorDDC also allows setting brightness of laptop/notebook-LCD-displays. Laptops have special FN-key-combinations to do this,
nevertheless I implemented support for laptop-brightness, because laptops allow to add an external monitor, and it would be irritating
if ClickMonitorDDC would not show both displays. ClickMonitorDDC shows values between 0 - 100, which is fine with external monitors,
but some internal LCD-displays support less brightness-levels, the nearest level is chosen automatically.
If you don't prepend a monitornumber, monitorname, modelname or serialnumber in command-lines, then the commands affect the default monitor,
which is the selected monitor in ClickMonitorDDC-window, you can select another monitor as default. If you run multiple monitors,
then ClickMonitorDDC automatically sets the monitor under the cursor as default monitor, you can disable this feature in settings.
ClickMonitorDDC can create menu-popup-entries for executing command-lines, if you enter an additional comment,
you can show or hide the corresponding commandline.
ClickMonitorDDC offers in settings an option named 'show notifications'
If you set values directly in ClickMonitorDDC-window, this option has no effect, but if you press defined hot keys and ClickMonitorDDC-window is invisible,
then setting this option gives you an optical feedback, what the pressed hot key did.
ClickMonitorDDC supports easy to use command-line-arguments, maybe the rarely used toggle-feature needs some extra explanation.
for instance define a hotkey with this commandline
t b 0 c 0 t b 100 c 100
first time you press the hotkey, you set monitor brightness 0 and contrast 0,
second time you press the same hotkey, you will set brightness 100, contrast 100,
third time behaves like first time and so on, this way using one hotkey, you can execute two different profiles in turn.
In special settings, you can define up to 8 times to auto-run-command-lines. Unchecking the corresponding checkbox deactivates the command-line.
If the time-condition is fulfilled then the command-line is executed one-time per day, not permanently like some other software-color-filter-programs do.
ClickMonitorDDC instead changes the real internal monitor-hardware-values. Monitor-values are stored in EEPROM inside monitor.
If EEPROMS are excessively written (at least more than 100000) they could lose storage-functionality, so more a theoretical issue.
But for safety ClickMonitorDDC does not continuously write to monitor.
Also executing auto-command-lines only one time allows you still changing values as you want.
07:00 AM b 30
08:00 AM b 40
09:00 AM b 50
07:30 PM b 40
08:20 PM b 30
08:40 PM b 20
If you boot up your computer at 02:00 PM then the nearest past time-command b 50 is executed one-time per day, at 7:30 PM b 40 will be executed one-time.
You can force executing command-line again by restarting ClickMonitorDDC, really exit and start again or use rescan monitors,
simply double-clicking ClickMonitorDDC will have no effect, because ClickMonitorDDC does not start again, if already running.
Alternatively entering and leaving ClickMonitorDDC-settings will also check and run auto-run-command-line.
You could also execute command-lines with multiple arguments
07:00 AM b 10 c 20 l 250
08:00 AM b 20 c 25 l 252
This would increase brightness, contrast and blue-luminance.
some minor bug-fixes regarding icons, tooltips, utilize monitors.
New option: When ClickMonitorDDC starts, last brightness and contrast values will be restored, may be useful if monitor forgets set values after power off.
New options for (de)activating hot keys or mouse wheel. If deactivated, corresponding hook is not installed.
Now you can set a repeat delay value for hot keys or mouse wheel, useful if you want to slow down increasing/decreasing commands like for instance b + 10
New Log-File option in settings, may be useful for informational or debugging purposes.
You can choose any name or location for protocol-file, default is ClickMonitorDDC.txt in userprofile-directory.
Runing ClickMonitorDDC with argument f will restore default Monitor-factory-settings, equivalent to clicking 'Reset Monitor' in ClickMonitorDDC-Window.
Sometimes volume-icon was automatically added. fixed.
Two new settings-options
Verify values: After set value, read value from monitor, to check success, because a few monitors report success, but in fact there was no change,
costs additional 50 ms.
Save values: A few monitors forget changes done by user over monitorcable after powering off, this option makes sure that values are really stored in monitor,
costs additional 200 ms.
You can choose from seven different fonts for notification icons, especially useful for differentiating multiple monitors.
Now you can run ClickMonitorDDC without notification icons, then ClickMonitorDDC-main-window can only be opened by running program again (without arguments),
and context menu can only be opened by right clicking in ClickMonitorDDC-main-window.
Argument x shuts all monitors down to power-safe-mode, this is done by windows, and is not monitor-specific.
Now if you prepend a monitornumber, monitorname, modelname or serialnumber then only this monitor is set to power-safe-mode by using MCCS-VCP-control-code.
For instance the following command-line sets a monitor with name PHL32M and a monitor with name HP27WZ to power-safe-mode. All other monitors are ignored.
PHL32M x HP27WZ x
Running this commandline again would wake up these monitors.
ClickMonitorDDC now shows brightness/contrast notification icons for each monitor, not only one icon like in earlier versions,
this is very useful with multiple monitors, because now you can use mouse wheel for each monitor-icon.
You should arrange notification icons by drag & drop. This cannot be done automatically by program.
ClickMonitorDDC Portable version is a file which can be run from any location without installation, but you can also download a Setup version,
which uses the standard Windows Install/Uninstall-procedure. Setup version was created with Inno Setup by Jordan Russell, Martijn Laan.
If you want to 'uninstall' ClickMonitorDDC, right click notification icon and then click 'Uninstall program' or use Windows Uninstall program if using Setup version.
It doesn't matter which version you use, both versions run the same ClickMonitorDDC.exe file.
If you mess around with monitor-buttons, ClickMonitorDDC may show outdated values.
Using the new Settings-Option 'Reread values from monitors' will force ClickMonitorDDC to reread values from external monitors before opening ClickMonitorDDC-window,
but this delays opening of ClickMonitorDDC-window, so normally this option is not recommended, alternatively you can right click notification icon and click 'Rescan monitors'.
But if you only work with ClickMonitorDDC there will never be outdated values.
Windows informs programs if Laptop-LCD-brightness changes, but for external monitors this is impossible.
ClickMonitorDDC is a small program without any suspicious activities, no calling home, no update-function, no writing to registry,
nevertheless sometimes very few heuristic Anti-Virus-engines think there would be suspicious code and show an unspecific warning.
This new version is created with other compiler option and at least for the moment the warnings are gone.
ClickMonitorDDC supports multiple monitors, simply by clicking in the main-window, or by using commandlines with
monitorname or modelname or serialnumber or monitornumber, these commandlines can also be used for mouse wheel + key-combinations,
but for easy use, you can simply use mouse wheel alone over noctification-icons.
ClickMonitorDDC realizes hotkeys by keyboard/mouse-hooks.
Now these hooks run in a separate thread, this way mouse/keyboard-handling should always be smooth.
Moving settings window around could sometimes cause some incorrect redrawing of settings window. Fixed.
Maybe you have an AV Receiver connected, which shows up as a monitor, but cannot be controlled or there is an additional monitor connected, you never use.
You can right click an uncontrollable device (which is listed with brightness ? contrast ?),
then you can click 'Ignore monitor -> ClickMonitorDDC-window opens a little bit faster', from now on ClickMonitorDDC-window should open a little bit faster.
Click 'Utilize monitor' if the device shall be checked again.
Clicking 'Copy Debug-Infos of all monitors to Clipboard' can be used to email some debug-infos to the program-author.
These are only some special data, not a complete feature-listing of the monitors.
ClickMonitorDDC was primarily developed to control external monitors in the most user-friendly way, for instance use mouse-wheel over icons or define hot-keys and so on.
Internal Laptop-LCD have built-in brightness-support by using FN-keyboard-keys or windows-sliders, but ClickMonitorDDC can also speed up handling of internal Laptop-LCD.
This version comes with an unique feature for Laptop-Displays, activate this feature in settings by clicking 'same Laptop-Brightness for battery and plugged',
from now on Laptop-Display keeps same brightness ignoring power-source-changes.
Windows 10 comes with an additional Battery saver feature, which can automatically lower brightness, so for instance brightness 100 is forced down to brightness 70,
there is no way to set brightness back to 100 if Battery saver with lower brightness option is active,
therefore 'same Laptop-Brightness for battery and plugged' is temporarily deactivated if Battery saver is detected.
Battery saver also gets automatically activated if 'Power saver' plan is chosen and Laptop is on battery.
Monitor name should be defined in EDID using 0xFC descriptor, external monitors normally do this, but internal LCD-Display
often do not implement this 0xFC descriptor, instead sometimes there is a 0xFE descriptor, which means unspecified text,
ClickMonitorDDC now uses this unspecified text for monitor name if there is no concrete monitor name definition.
ClickMonitorDDC shows values between 0 - 100, which is fine with external monitors, but internal LCD-display may support less levels, often only 16 levels,
for instance 1 3 4 5 6 8 10 13 17 22 29 38 49 63 80 100. Windows says every laptop must report a maximum brightness level of 100,
but there are old laptops reporting for instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15.
These numbers only reflect a corresponding hardware-brightness-level and different Laptop models often have different numbers.
ClickMonitorDDC now recalculates level numbers to 0 - 100 in a linear more user-friendly way.
Behavior of the 8 timers for auto-run commands was improved.
ClickMonitorDDC now uses for Laptop-Display-handling WmiMonitorBrightnessEvent, WmiMonitorBrightness, WmiSetBrightness, GetMonitorRawEEdidV1Block
instead of DeviceIoControl.
You are allowed to use and spread ClickMonitorDDC
You use this software at your own risk, I disclaim
any responsibility for any harm.
There is no warranty, express or implied. The author specifically disclaim any implied warranties of merchantability and fitness for a particular purpose.
In no event will the author be liable for any damages, including but not limited to any lost profits, lost savings or any incidental or consequential damages,
whether resulting from impaired or lost data, software or computer failure or any other cause, or for any other claim by the user or for any third party claim.