Skip to content
 
 

Repository files navigation

WindowsDisplayAPI

Note

This is a modified fork of the original WindowsDisplayAPI library maintained for the Lenovo Legion Toolkit project.

NuGet Version NuGet Downloads License Commit Activity Issues

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.

Installation

The library is available on NuGet. You can install it using the NuGet Package Manager Console:

dotnet add package LLT.WindowsDisplayAPI

For more details, visit the LLT.WindowsDisplayAPI NuGet Page.

Features & Windows API Support

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.

Sponsorship & Funding

If you find this library useful, please consider supporting the project and its authors:

Project Maintainer

Support the active maintainer of this fork:

Original Author

Support the original creator and author of the library, Soroush Falahati:

Your contributions, bug reports, and pull requests are always welcome.

Related Projects

  • 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.

License

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.

About

WindowsDisplayAPI is a .Net wrapper for Windows Display and Windows CCD APIs

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages