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