1
void SetBacklight(int value)
2
{
3
RegistryKey HKEY = Registry.CurrentUser.OpenSubKey("ControlPanel\\Backlight", true);
4
if (HKEY != null)
5
{
6
HKEY.SetValue("ACBrightNess", value, RegistryValueKind.DWord); //AC电源 "BrightNess" 为电池供电状态下
7
IntPtr hBackLightEvent = OpenNETCF.Threading.NativeMethods.CreateEvent(IntPtr.Zero, false, true, "BackLightChangeEvent");
8
if (hBackLightEvent != IntPtr.Zero)
9
{
10
OpenNETCF.Threading.NativeMethods.EventModify(hBackLightEvent, OpenNETCF.Threading.NativeMethods.EVENT.SET);
11
OpenNETCF.Threading.NativeMethods.CloseHandle(hBackLightEvent);
12
}
13
}
14
}

2

3

4

5

6

7

8

9

10

11

12

13

14

没有smartphone设备,所以只知道在PPC上没有问题,值的范围是 0~10,不过我试验的时候发现0不行,系统自带可以设到0,非常奇怪
另:使用了OPENNETCF 中的两个文件NativeMethods.cs ,Registry.cs