- Add VCP commands for brightness (10), contrast (12), input source (60) - Fix UTF-16 encoding for monitor data parsing - Add system tray app with monitor controls - Add localization for en, es, fr, de, zh, ja, pt, it, hi - Update to .NET 9.0 - Add LICENSE and README 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| CMMModel | ||
| CMMService | ||
| ControlMyMonitorManagement | ||
| DellMonitorControl | ||
| Display | ||
| Language | ||
| Library | ||
| Tester | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| ControlMyMonitorManagement.sln | ||
| LICENSE | ||
| README.md | ||
ControlMyMonitorManagement
A Windows desktop application for controlling monitor settings via DDC/CI (Display Data Channel/Command Interface). Adjust brightness, contrast, power state, and other display parameters across multiple monitors.
Features
- Multi-Monitor Support - Detect and control multiple connected displays
- Brightness & Contrast Sliders - Easy adjustment with real-time feedback
- Input Source Switching - Switch between VGA, DVI, HDMI, DisplayPort (auto-detected from monitor)
- Power Management - Turn monitors on, off, or into sleep mode
- System Tray Integration - DellMonitorControl app with taskbar tray popup
- 9 Languages - Auto-detects system language (en, es, fr, de, zh, ja, pt, it, hi)
Requirements
- Windows OS
- .NET 7.0 SDK
- DDC/CI compatible monitor(s)
Build
# Clone the repository
git clone https://github.com/yourusername/ControlMyMonitorManagement.git
cd ControlMyMonitorManagement
# Build the solution
dotnet build ControlMyMonitorManagement.sln
# Run the main application
dotnet run --project ControlMyMonitorManagement/ControlMyMonitorManagement.csproj
# Run the Dell-specific application (with system tray)
dotnet run --project DellMonitorControl/DellMonitorControl.csproj
Project Structure
| Project | Description |
|---|---|
| ControlMyMonitorManagement | Main WPF application with full UI |
| DellMonitorControl | Lightweight app with system tray integration |
| Library | Core business logic and DDC/CI operations |
| CMMModel | Data models for monitor status |
| CMMService | Service layer interfaces |
| Language | Localization support |
| Tester | NUnit test project |
Common VCP Codes
| Code | Name | Values |
|---|---|---|
| D6 | Power Mode | 1=On, 4=Sleep, 5=Off |
| 10 | Brightness | 0-100 |
| 12 | Contrast | 0-100 |
| 60 | Input Source | 1=VGA, 3=DVI, 15=DisplayPort, 17=HDMI |
How It Works
This application uses DDC/CI protocol to communicate with monitors through the display cable (HDMI, DisplayPort, DVI, VGA). DDC/CI allows software to send commands directly to the monitor's firmware to adjust settings that would normally require using the monitor's physical buttons.
Credits
- Original Project: DangWang - ControlMyMonitorManagement
- DDC/CI Tool: Nir Sofer - ControlMyMonitor.exe (freeware)
- Enhancements by David H Friedel Jr: Brightness/contrast sliders, input source switching, 9-language localization
License
This project contains multiple components with different terms:
- Original code by DangWang: No explicit license provided
- ControlMyMonitor.exe: Freeware by Nir Sofer - free distribution allowed, no commercial use, no modification
- New contributions (sliders, localization, etc.): MIT License