关于SystemIdleTimerReset函数

以前一直以为调用 SystemIdleTimerReset()函数GWES会发出 L"PowerManager/ActivityTimer/UserActivity" event,由于我的背光驱动是等待L"PowerManager/ActivityTimer/UserActivity"  event的,所以调用SystemIdleTimerReset()函数,背光还是没有亮。
后来看了下PM中的代码,其实SystemIdleTimerReset()被调用的时候会发出L"PowerManager/SystemIdleTimerReset"的event,而非L"PowerManager/ActivityTimer/UserActivity" event。此外还要注意注意wince的PM有2个方案,默认是不会注册L"PowerManager/SystemIdleTimerReset"这个事件的,当你使用PDA方案(即set SYSGEN_PM_PDA=1)的时候,你就会发现你能收到L"PowerManager/SystemIdleTimerReset"event了,当然用DEFAULT方案的时候也能注册这个event,我们只需要在注册表里面注册一下就行了

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
 "SystemIdleTimerResetEvent"="PowerManager/SystemIdleTimerReset"

这样你就可以在背光驱动中对该事件进行处理了。

 

你可能感兴趣的:(System,WinCE)