引用: 引用 6 楼 lingguang8888 的回复:
实际上我想实现,当用户一段时间不操作时(可设置时间),关闭背光,使系统进入休眠状态,当点击触摸屏时,换醒系统,打开一些线程,这样的功能应该如何实现呢?
这些都是电源管理控制与操作的。
电源管理模块实体是一个动态链接库pm.dll来实现的.可以在pb的catalog窗口中选择电源管理组件添加到os中.如下图,微软提供了2个选择(二选一).第一个代表完整功能,所有api全功能实现,第二个代表空实现(形式上提供接口,但空函数).
电源管理模块的代码结构是分层的,MDD+PDD.MDD是抽象公共库,不需要改动,PDD是平台相关,主要改动都在PDD.针对平台特性,微软提供了2种 类型PDD示例.一种是default,另外一种是pda版本的.默认的情况,使用的是default.
default版本定义了4种状态:On, UserIdle, SystemIdle, Suspend;
default版本的简单描述:UserIdle状态是描述用户在使用但没有操作,比如阅读.SystemIdle状态描述用户停止使用,但系统仍然工作,比如文件传输.
简单描述ScreenOff状态描述用户请求把屏幕背灯关闭.是用户主动关闭的情况,区别于UserIdle,UserIdle是自动 的.Unattended状态表示后台工作,用户不会对其察觉的情景,比如ActiveSync每5分钟唤醒系统同步,然后继续suspend; Resume状态描述唤醒后情景,比如唤醒后在指定时间内决定转到哪个状态,否则继续suspend.