2007年3月16日星期五

Windows Mobile Activity timer

Activity Timers也不是什么新鲜东西。这个东东真的很难懂,连续看了MSDN的解释不下20遍,也还是没弄懂怎么回事,说得太抽象了。希望这里我能帮大家有个形象的理解。

我们都知道在PocketPC上,我们点击touch panel,如果机器没有睡觉,那么屏幕就会亮起来。这其实是系统backlight offon的一次电源状态转换,这个动作是由pm.dll来完成的。

那么pm.dll是如何“感知”到这种“user activity”的呢?其实就是这个activity timer

touch panel为例,当有点击事件时,会SetEvent()来通知Pm.dll,这个event的名字由注册表HKEY_LOCAL_MACHINE\System\GWE\ActivityEvent的键值指明,其值一般为PowerManager/ActivityTimer/UserActivity ,这个event是被pm.dll随时“监视”的。也就是说如果你setEventpm.dll就会认为是“user activity”,然后再做相应得电源状态转换。

没有评论: