Download Portable Version
can be run without Installation
uses Windows Install/Uninstall
Click taskbar notification
icons to adjust the real monitor-backlight-brightness/contrast
or use mouse wheel over notification icons 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.
Command-lines can also be executed automatically by defined times.
You can define hot keys or mouse wheel combinations for executing command-lines,
this even works in fullscreen-games!
Command-lines can be executed automatically, if selected programs are running in fullscreen,
exiting fullscreen restores original values.
Select a special monitor by prepending monitorname, modelname, serialnumber,
monitornumber or a self-defined monitorname.
PL2779Q b 36 HPA34T c - 5 sets brightness 36 for monitor with name PL2779Q
and decreases actual contrast by 5 for monitor with name HPA34T
You can change color-profiles, select monitor-inputs, reset monitor, power off/on monitor,
dim monitor, set monitor-speaker-volume, set system-volume, rotate display and
You can do this by user-interface or by command-arguments.
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||r||+ or -||0 up to 255||sets red-luminance|
|applied to this selected monitor.||g||+ or -||0 up to 255||sets green-luminance|
|If you do not select a monitor,||l||+ or -||0 up to 255||sets blue-luminance (bl or l or i)|
|the monitor under cursor can be|
|auto-selected (option in Settings).||p||6500K||select pre-defined color-temperatures|
|You can select a monitor by monitorname,||or select User to create own color-temperature|
|modelname, serialnumber, monitornumber||by changing red/green/blue-luminance|
|or a self-defined monitorname.|
|If you pause the mouse pointer over||s||HDMI1||select monitor-input (HDMI,DisplayPort,DVI,VGA)|
|the listed monitor there will appear|
|a tooltip-window with modelname,||k||+ or -||0 up to 100||sets color-saturation/vibrance in graphics driver|
|serialnumber and so on, but not all|
|monitors deliver these informations.||o||+ or -||0 up to 100||sets volume for monitor-speaker/Audio-out|
|Monitornumber means position of the|
|listed monitor, but using monitornumber||v||+ or -||0 up to 100||sets volume|
|is not recommended, because sometimes||m||mutes volume|
|windows changes positions.||u||unmutes volume|
|If specifying monitorname, modelname|
|or serialnumber, omit spaces,||n||0 or 1||disables or enables dimming|
|for instance HP w2207|
|must be written as HPw2207||y||0 or 1||disables or enables using brightness for target|
|or use "HP w2207"|
|at least use two chars,||?||notification for current brightness/contrast/volume|
|so HP would do|
|w||rotates display orientation clockwise by 90 degrees|
|x||all monitors off (or specify monitorname x)|
|f||restore default Monitor-factory-settings|
|t||for instance t b 0 c 0 t b 90 c 80|
|toggles between b 0 c 0 and b 90 c 80|
|;||pauses 100 ms (can be used multiple times)|
|,||pauses 1000 ms (can be used multiple times)|
|d||returns current Monitor-brightness (batch-file)|
|e||returns current Monitor-contrast (batch-file)|
|You can use multiple arguments in one commandline (maximum length 259 chars), e.g. 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, 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. In Windows settings you can select which icons appear on the taskbar.
Or drag and drop icons fom hidden area to taskbar. You can also change the sequence of taskbar icons by drag and drop the icon.
ClickMonitorDDC supports 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 monitorname, modelname or serialnumber in command-lines, then the commands affect the default monitor,
which is the selected monitor in ClickMonitorDDC-window. If you run multiple monitors, then ClickMonitorDDC can set
automatically the monitor under the cursor as default monitor, you can enable 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 settings(Timer,Transfer,Limits), you can define up to 8 times to auto-run-command-lines. Mark checkbox for activating.
If the time-condition is fulfilled then the command-line is executed one-time per day, not permanently like
software-color-filter-gamma-ramp-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 ClickMonitorDDC buffers values, so the same value is only written once to monitor.
Executing auto-command-lines only one time per day 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.
You can set NVIDIA Digital Vibrance and AMD Saturation by using mouse wheel over notification icon or use new argument k
You can have in your computer a NVIDIA and a AMD graphics card, both with monitors attached,
each monitor has its own independent saturation-value/icon.
Graphics driver sends less (0-49) or more (51-100) saturated colors to monitor,
a higher value (51-100) can enhance videos and games, for normal text-work use default 50
ClickMonitorDDC shows Saturation/Vibrance always in range 0 - 100, that means AMD Saturation range 0 to 200
is recalculated to 0 - 100 by respecting min max levels. k 50 would result in set Saturation 100 for AMD.
Now you can select programs like browser, video-players or games and define an individual command-line,
this way you can automatically apply different brightness/contrast/saturation-values for each selected program.
Improved powering off monitors.
new arguments, n 0 disable dimming monitor, n 1 enable dimming,
y 0 disable using brightness from source monitor for target monitor, y 1 enable
Now you can power off a single monitor by clicking a checkbox beside the listed monitor.
Some unusual multi-monitor-setup could result in additional notification icons, which disappeared only on mouse over.
Improved settings of notification icons. There is also a new notification icon for a possible monitor speaker.
Turning on/off a monitor connected by DisplayPort could open window and leave icons behind. Fixed.
Now you can rotate display orientation clockwise by 90 degrees, can also be done by hot key with new argument w
A few monitors report erroneously success if still processing a previous command,
now you can separate commands by ; (pauses 100 ms) , (pauses 1000ms)
for instance r 255 , g 255 , bl 255 would give the monitor enough time to process each command,
but normally these pauses are not needed
Latest versions handled laptop-LCD's in a different way, which did not work with some laptops,
now the old reliable method is used again, which should work with any laptops.
Most messageboxes can now be suppressed.
ClickMonitorDDC can control default-volume by slider, buttons or argument v
There is a new slider in main-window-RGB-area for monitor-speaker/Audio-out-volume, or use new argument o
Right click listed monitor, select dim monitor, enter time-period of inactivity and dim-brightness.
Restore last values, hiding icons, ignore monitor now differentiates identical monitors.
Right click listed monitor to modify its name, maybe useful for identical monitors.
In settings there are new buttons to check for update version.
If you right click a listed monitor in main window, then you can hide or show the icons for this monitor,
also you can determine not to read values from a device, maybe useful if AV receiver, saves 100 ms.
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.
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 window.
Argument x shuts all monitors down to power-safe-mode, this is done by windows, and is not monitor-specific.
If you prepend a monitornumber, monitorname, modelname or serialnumber, only this monitor is set to power-safe-mode
by using MCCS-VCP-control-code. For instance the following command-line sets monitor named PHL32M
and monitor named 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 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, modelname, serialnumber or monitornumber, 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.
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.
If you activate in settings 'same Laptop-Brightness for battery and plugged', then Laptop-Display keeps same brightness
ignoring power-source-changes. Windows10 comes with 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.
ClickMonitorDDC now uses for Laptop-Display-handling WmiMonitor classes 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.