Windows Mobile防止待机及电源管理

长平狐 发布于 2012/08/13 15:43
阅读 141
收藏 0

      Windows Mobile运行一短时间后,如果用户没有激活它,系统就会进入待机状态。在待机情况下所有进程将被挂起,因此我们自己开发的程序将不能运行。 如果你开发的是一款音乐或视频播放器,那你就郁闷之极。 解决待机问题很简单,只需周期性的调用SystemIdleTimerReset()函数,将待机超时时间复位,那么系统将得不到待机的机会。 这个周期性调用很关键, 一般系统待机超时时间为1分钟,所以你这个周期性时间必须小于1分钟,你可以用一个Timer,每隔30秒调用一次这个函数。

 

     电源与背光是不同的, 默认状态下,手机闲置一段时间后会屏幕会变暗,再过一段时间后屏会关闭,这都是为了节约用电。许多手机在电源此刻就关闭了电源,手机系统功耗降至最低。

 

防止关闭背光(只在电源关闭前有效,电源关闭时,即使使用了防止关闭背光的方法,背光也会关闭)
SetPowerRequirement(//改变电源状态
LPCWSTR psState,//在我理解就是设备名称L"BKL1:"表示背光
  DWORD StateFlags,//电源的四种状态,因为是由OEM定制的,所以一般都用D0最大功耗状态
  DWORD Options//用POWER_NAME表示我们指定的设备名被维护
0,//用0
0//用0
)
ReleasePowerRequirement (HANDLE hPowerReq); //用此方法释放上面的电源管理

 

 

关闭电源(调用系统键实现的,模拟器慎用,用后会发现模拟器不见了)
keybd_event (VK_OFF, 0, KEYEVENTF_SILENT, 0);   
keybd_event (VK_OFF, 0, KEYEVENTF_SILENT │ KEYEVENTF_KEYUP, 0);


原文链接:http://blog.csdn.net/favormm/article/details/4674574
加载中
返回顶部
顶部