系统电源状态变迁示意图
1. Backlightoff Timeout
2. User Activity or AppButtonPressed
3. UserIdle Timeout
4. User Activity or AppButtonPressed
5. PowerButtonPressed or Suspend Timeout
6. PowerButtonPressed or AppButtonPressed
7. UserIdle Timeout
8. PowerButtonPressed or Suspend Timeout
9. PowerButtonPressed or Suspend Timeout
10. UnattendedRefCount == 0 or SuspendTimeout
11. Wakeup from Suspended status
12. ResumingSuspendTimeout
13. PowerButtonPressed or AppButtonPressed
14. Suspend Timeout
15. PowerButtonPressed or AppButtonPressed
SetSystemPowerState()
16. SetSystemPowerState(NULL,POWER_STATE_ON,POWER_FORCE) or SetSystemPowerState(L"on",0,0);
17. SetSystemPowerState(NULL,POWER_STATE_USERIDLE,POWER_FORCE) or SetSystemPowerState(L"useridle",0,0);
18. SetSystemPowerState (NULL,POWER_STATE_RESET,POWER_FORCE) or SetSystemPowerState(L"reboot",0,0);
19. SetSystemPowerState (NULL,POWER_STATE_SUSPEND,POWER_FORCE) or SetSystemPowerState(NULL,POWER_STATE_OFF,POWER_FORCE) or SetSystemPowerState(NULL,POWER_STATE_CRITICAL,POWER_FORCE) or SetSystemPowerState(L"suspend",0,0);
20. SetSystemPowerState(NULL,POWER_STATE_IDLE,POWER_FORCE) or SetSystemPowerState(L"screenoff",0,0);
21. SetSystemPowerState(L"coldreboot",POWER_STATE_RESET,POWER_FORCE)
注意:
1.Windows Mobile 6 Professional和Windows Mobile 6 Classic(即PocketPC)下,没有UserIdle状态,3,4,7,8,9,17这几个迁移线也就不存在。
2.Windows Mobile 6 Standard(即SmartPhone)下,没有Unattended,Resuming,Suspended三个状态,5,6,8,9,10,11,12,13,14这几个迁移线也不存在。