wince中的背光灯控制

要控制背光灯就必须知道相关设置,以下是wince中背光灯的设置。在BL_ReadRegistry函数中被读取。
[HKEY_CURRENT_USER\ControlPanel\BackLight]
   "ACTimeout"=dword:0000012c                ; 外部电源时,背光超时
   "UseExt"=dword:00000001                   ; 不知道干什么的,我没有使用
   "UseBattery"=dword:00000001               
   "BatteryTimeout"=dword:0000003c           ;电池供电时背光超时
   "BacklightLuminanceLevel"=dword:00000001  ;我定义的亮度

其实还可以定义其他很多东西,都可以自己添加,比如外部电源时背光亮度,电池供电时背光亮度,电源改变是否自动改变亮度等,都可以再驱动第一次加载的时候写一个默认值,或者在编译系统的时候就将其写入注册表。
很多网上都能下载到backlite驱动源码,就是背光控制驱动,但是基本都是不完整的驱动,需要根据你自己的平台写代码控制,不同的电路控制方式不一样,而且还跟LCD有关系。那么首先请先完成你自己平台的控制函数void BackLightCtrl(BOOL bLight)。
void BackLightCtrl(BOOL bLight)

    if (bLight)
    {     
        RETAILMSG(1, (TEXT("turn on!\r\n")));
    }
    else
    { 
        RETAILMSG(1, (TEXT("turn off!\r\n")));
    }
    
}
然后在BL_MonitorThread中根据不同事件控制背光灯打开跟关闭,如果你的LCD支持调节亮度的,那么可类似处理。另外为了让操作触摸屏时能自动恢复LCD,那么还需要在触摸屏驱动中添加“UserInputEvent”事件,并在按下或者抬起的动作set一下这个事件。这样就能跟背光驱动关联起来。键盘驱动类似。在我的驱动中使用了以下几个事件:
     ("BackLightChangeEvent"); 背光亮度改变,应用层软件与驱动通讯
     ("PowerChangedEvent");电源改变事件
     ("PowerManager/ActivityTimer/UserActivity");用户输入事件,这里提醒一下,很多文章都直接使用“UserInputEvent”为输入事件名,但是这个应该只是个代名词而已。
 
具体的源码我就不贴出来了,有需要的朋友可以直接给我发邮件!
 
最后在platform.reg中添加
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\BackLite]
    "Index"=dword:0
    "Prefix"="BAK"
    "Dll"="backlite.dll"
    "Order"=dword:xx
在platform.bib中添加
backlite.dll    $(_FLATRELEASEDIR)\backlite.dll            NK    SH
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值