SetMonitorBrightness function (highlevelmonitorconfigurationapi.h)


The physical monitor configuration functions work using the VESA Monitor Control Command Set (MCCS) standard over an I2C interface. Many monitors don't fully implement that standard; so your use of these commands might result in undefined monitor behavior. We don't recommend using these functions for arbitrary monitors without physically validating that they work as intended.

Sets a monitor's brightness value. Increasing the brightness value makes the display on the monitor brighter, and decreasing it makes the display dimmer.


_BOOL SetMonitorBrightness(
  [in] HANDLE hMonitor,
  [in] DWORD  dwNewBrightness


[in] hMonitor

Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR or GetPhysicalMonitorsFromIDirect3DDevice9.

[in] dwNewBrightness

Brightness value. To get the monitor's minimum and maximum brightness values, call GetMonitorBrightness.

Return value

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError.


If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_BRIGHTNESS flag.

This function takes about 50 milliseconds to return.

The brightness setting is a continuous monitor setting. For more information, see Using the High-Level Monitor Configuration Functions.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header highlevelmonitorconfigurationapi.h
Library Dxva2.lib
DLL Dxva2.dll

See also

Monitor Configuration Functions