我们都知道在PocketPC上,我们点击touch panel,如果机器没有睡觉,那么屏幕就会亮起来。这其实是系统backlight off到on的一次电源状态转换,这个动作是由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随时“监视”的。也就是说如果你setEvent,pm.dll就会认为是“user activity”,然后再做相应得电源状态转换。
没有评论:
发表评论