A lightweight, native Windows C++ application to control physical monitor brightness and contrast directly via Hardware DDC/CI (dxva2.dll) with a modern Windows 10/11 Quick Settings flyout interface.
- True Hardware DDC/CI Control: Directly communicates with your monitor's internal controller over DisplayPort, HDMI, or DVI to dim the actual LED/CCFL backlight power (just like ClickMonitorDDC).
- Automatic Software Gamma Fallback: Seamlessly falls back to Windows GDI Gamma Ramp adjustment when running without GPU drivers (e.g. Microsoft Basic Display Adapter, VM, or non-DDC screens), ensuring the brightness percentage slider always works.
- Dual Contrast Modes:
- Pure Hardware Backlight Mode (Default): Backlight scales 0–100% while Contrast stays at native calibrated baseline (75) for 100% maximum panel luminance and vivid colors without any highlight clipping.
- Deep Dimming Mode (Optional): Scales contrast down alongside backlight for extra-deep pitch-black dimming in dark environments.
- Reset Base Contrast Button (
↺ Reset Contrast): One-click recalibration to restore optimal 75 baseline or maximum 100 boost. - Modern Flyout UI: Sleek, acrylic dark mode slider popup anchored right above the system tray.
- Real-time System Tray Icon: Dynamic tray icon displaying the current brightness percentage in high-contrast amber/orange text.
- Mouse Wheel Quick Adjust: Hover over the tray icon and scroll the mouse wheel to increment/decrement brightness by ±5% instantly.
- Multi-Language Support (EN / TH): Toggle between English and Thai (
[EN]/[TH]) directly in the header or via the tray context menu. - Global Hotkeys: Convenient keyboard shortcuts for instant adjustments anytime.
- Auto-Start with Windows: Easily enable or disable startup on login with a single click.
- Ultra Lightweight: Native Win32 + GDI+ implementation with zero external runtime dependencies (~145 KB executable, < 8 MB RAM).
| Hotkey | Action |
|---|---|
| Ctrl + Alt + ↑ or Page Up | Increase brightness (+5%) |
| Ctrl + Alt + ↓ or Page Down | Decrease brightness (-5%) |
| Ctrl + Alt + Home | Reset brightness to 100% |
- Download or clone this repository.
- Double-click
ScreenBrightness.exeto run the app immediately. - Left-click the tray icon to open the flyout slider, or scroll on the tray icon to adjust brightness.
To build using Microsoft Visual Studio C++ (MSVC):
build.batThis compiles main.cpp into a standalone, DPI-aware ScreenBrightness.exe.
Settings are automatically saved in config.ini in the executable folder:
[Settings]
Brightness=100
BaseContrast=75
ScaleContrast=0
Language=TH- สั่งหรี่หลอดไฟหน้าจอจริง 100% (Hardware DDC/CI): ส่งคำสั่งผ่านสายสัญญาณ (DisplayPort / HDMI / DVI) เข้าชิปจอโดยตรงผ่าน
dxva2.dllเพื่อหรี่กำลังไฟของหลอด LED Backlight ด้านหลังจอจริง สบายตา ไม่เกิดแสงรั่ว และประหยัดไฟจริง (เหมือน ClickMonitorDDC) - โหมดสำรอง Software Gamma อัตโนมัติ: เมื่อยังไม่ได้ลง Driver การ์ดจอ (เช่น Microsoft Basic Display Adapter) หรือต่อผ่านจอที่ไม่รองรับ DDC/CI โปรแกรมจะสลับไปใช้ Windows GDI Gamma Ramp อัตโนมัติ ทำให้ปรับ % ความสว่างได้ลื่นไหลเสมอทุกสถานการณ์
- เลือกโหมดควบคุม Contrast ได้ 2 รูปแบบ:
- โหมดคุมเฉพาะหลอดไฟ (Pure Backlight - ค่าเริ่มต้น): ปรับความสว่างหลอดไฟ 0–100% โดยล็อก Contrast ไว้ที่ค่า Native (75) ทำให้เวลาปรับ 100% หน้าจอจะสว่างสูงสุดเต็มกำลังพาเนล 100% และสีสันสดใสไม่ดรอป
- โหมดหรี่ลึกพิเศษ (Deep Dimming - เลือกเปิดได้): ปรับลดทั้งหลอดไฟและ Contrast ควบคู่กัน เหมาะสำหรับใช้งานในห้องมืดสนิทเพื่อถนอมสายตาขั้นสุด
- ปุ่มรีเซ็ตคอนทราสต์ (
↺ Reset Contrast): กดเพื่อคืนค่า Contrast มาตรฐาน 75 (สว่างสูงสุด) หรือ 100 (Max Boost) ได้ในคลิกเดียว - หน้าต่างปรับแสงโมเดิร์น (Flyout UI): หน้าต่างธีมมืด Dark Mode สวยงาม ลอยเหนือ Taskbar มุมขวาล่าง เลื่อนปรับได้ตั้งแต่ 0% - 100% พร้อมปุ่มลัดระดับแสงด่วน
[0%] [25%] [50%] [75%] [100%] - System Tray Icon แสดงตัวเลข % แบบเรียลไทม์: ไอคอนที่มุมขวาล่างแสดงตัวเลขความสว่างสีส้ม/ทอง เด่นชัดข้างนาฬิกา
- หมุนล้อเมาส์ (Scroll Wheel) บนไอคอน: เพิ่ม-ลดความสว่างหลอดไฟทีละ 5% ได้ทันทีโดยไม่ต้องเปิดหน้าต่าง
- รองรับ 2 ภาษา (EN / TH): มีปุ่ม
[EN][TH]สำหรับสลับภาษาได้ทันที - เปิดเครื่องกดรันเองได้ (Auto-Start): ติ๊กถูกที่ช่อง "Start with Windows" เพื่อให้โปรแกรมเปิดพร้อมคอมพิวเตอร์อัตโนมัติ
- น้ำหนักเบาเป็นพิเศษ: พัฒนาด้วย C++ Win32 Native ขนาดไฟล์เพียง ~145 KB และกินแรมน้อยมาก (< 8 MB)
| คีย์ลัด (Hotkeys) | การทำงาน |
|---|---|
| Ctrl + Alt + ↑ หรือ Page Up | เพิ่มความสว่างหลอดไฟจอ (+5%) |
| Ctrl + Alt + ↓ หรือ Page Down | ลดความสว่างหลอดไฟจอ (-5%) |
| Ctrl + Alt + Home | ปรับความสว่างเป็น 100% |
- ดับเบิ้ลคลิกไฟล์
ScreenBrightness.exeเพื่อเปิดใช้งานได้ทันที - คลิกซ้ายที่ Tray Icon มุมขวาล่างเพื่อเปิดแถบเลื่อน หรือหมุนล้อเมาส์บนไอคอนเพื่อปรับแสงด่วน
- รันไฟล์
build.batเพื่อคอมไพล์โค้ดmain.cppด้วย MSVC C++ เป็นไฟล์ScreenBrightness.exe
This project is open source and available under the MIT License.