2
0

Add brightness/contrast sliders, input source switching, and 9-language localization

- 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>
This commit is contained in:
2026-01-03 22:11:35 -05:00
parent 6b656ead2d
commit 0352c6b755
34 changed files with 1640 additions and 158 deletions

74
README.md Normal file
View File

@@ -0,0 +1,74 @@
# 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
```bash
# 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](https://github.com/poyingHAHA) - ControlMyMonitorManagement
- **DDC/CI Tool**: [Nir Sofer](https://www.nirsoft.net) - 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