Note
This is a modified fork of the original WindowsDisplayAPI library maintained for the Lenovo Legion Toolkit project.
WindowsDisplayAPI is a lightweight .NET wrapper for the Windows Display and Connecting and Configuring Displays (CCD) APIs. It enables developers to query, configure, and manage display topologies, resolutions, refresh rates, and scaling settings programmatically.
The library is available on NuGet. You can install it using the NuGet Package Manager Console:
dotnet add package LLT.WindowsDisplayAPIFor more details, visit the LLT.WindowsDisplayAPI NuGet Page.
| Feature / Interface | Subsystem / Flag | Status | Description |
|---|---|---|---|
| Display Topologies & Modes | CCD (Clone, Extend, Internal, External) |
Supported | Full topology querying, path switching, and validation. |
| Resolution & Refresh Rates | CCD (Standard) | Supported | Custom resolutions, progressive/interlaced refresh rate rationales. |
| Dynamic Refresh Rate (DRR) | CCD (BoostRefreshRate, VirtualRefreshRateAware) |
Supported | Full support for Windows 11 Dynamic Refresh Rate boost paths. |
| DPI Scaling | CCD (GetSourceDPIScale, SetSourceDPIScale) |
Supported | Per-source DPI scale percentage reading and modification. |
| Virtual Resolution | CCD (Get/SetSupportVirtualResolution) |
Supported | Virtual mode and virtual resolution configuration. |
| HDR / Advanced Color Info | CCD (GET_ADVANCED_COLOR_INFO = 9, GET_ADVANCED_COLOR_INFO_2 = 15) |
Supported | Query HDR, Wide Color Gamut (WCG), Auto HDR, active color mode, and color encoding with Windows 11 24H2+ support. |
| HDR State Control | CCD (SET_ADVANCED_COLOR_STATE = 10, SET_HDR_STATE = 16) |
Supported | Programmatically toggle HDR on/off per display with Windows 11 24H2+ support. |
| SDR White Level in HDR | CCD (GET_SDR_WHITE_LEVEL = 11) |
Supported | Read SDR content brightness slider value (raw and nits) in HDR mode. |
| Monitor Specialization | CCD (GET/SET_MONITOR_SPECIALIZATION = 12/13) |
Planned | Check or configure specialized displays (HMD / VR / Medical panels). |
| DDC/CI Hardware Controls | DXVA2 (dxva2.dll) |
Planned | External monitor hardware brightness, contrast, and VCP inputs. |
| DXGI Hardware Color Metrics | DXGI (DXGI_OUTPUT_DESC1) |
Planned | Real panel peak luminance (nits), bit depth, and color space gamut. |
| Windows Color Management | WCS / ICM (mscms.dll) |
Planned | Query and assign ICC/ICM color profiles per display. |
If you find this library useful, please consider supporting the project and its authors:
Support the active maintainer of this fork:
Support the original creator and author of the library, Soroush Falahati:
Your contributions, bug reports, and pull requests are always welcome.
- NvAPIWrapper: A .NET wrapper for the NVIDIA public API, allowing detailed display and GPU management on NVIDIA systems.
- EDIDParser: A helper library designed to parse and extract hardware information from raw EDID binary structures.
- HeliosDisplayManagement: An open-source display profile manager for Windows supporting NVIDIA Surround configurations.
Copyright (C) 2017-2020 Soroush Falahati.
This project is licensed under the GNU Lesser General Public License (LGPL-3.0), which allows for use in closed-source or commercial projects.
Per the license terms, any modifications to the core library code must be made public. Refer to the LICENSE file for the full text of the license.