6

Possible Duplicate:
C# setting screen brightness Windows 7

I searched online for some topics about chanding the brightness of the display through C#.
For the most part, I got links to change the gamma in Windows (here & here) and this is working fine for me. But I was wondering if this is the correct way of reducing the brightness or dimming the display (does this save power as reducing the brightness of monitor does?)

Is this a good way to reduce brightness or is there a better way to do the same? I'm on Windows 7 (I forgot what the default gamma value of windows is?! Somebody?)

Community
  • 1
  • 1
Cipher
  • 5,894
  • 22
  • 76
  • 112
  • I doubt that the solution provided there actually changes the brightness on the monitor side. I do not see any reference to DDC only Windows. @Cipher can obviously test it, but if it doesn't actually communicate with the monitor the results might not be that great. – pyrocumulus Jun 11 '12 at 14:11
  • 1
    Something else arguably related: http://skeptics.stackexchange.com/questions/4373/does-a-webpage-with-a-black-background-save-energy which infers that changing color brightness on LCD monitors at a software level (as in not adjusting the hardware's back lighting level) should have a negligible effect. This doesn't take into account monitors that actively adjust the back lighting based on the image they are trying to render, but I suspect this could vary dramatically based on manufacturer, etc,etc. – deepee1 Jun 11 '12 at 14:17

1 Answers1

2

Contrast/Brightness are properties inside of the physical monitor; not the software. Windows only knows Gamma. Most tools and guides you will find, will secretly edit gamma, which is obviously not the same as brightness/contrast.

But I did find this link: "How to Control the ‘Real’ Brightness and Contrast of Monitors by Software"

This is not a technical explanation of how it's done, it only lists problems with common 'tools' that claim to be able to do it. Instead it demonstrates the use of a couple of programs that actually communicate with the monitor. But the monitor as well as the video card, need to support the DDC protocol.

Maybe you can use this DDC protocol to roll your own approach in C#. There might even be libraries already, but if not; it will be a difficult implementation I guess.

pyrocumulus
  • 9,072
  • 2
  • 43
  • 53