http://www.cnblogs.com/fox23/archive/2008/02/03/AtTime.html
其实还有一种另一种有趣的方式,在Smartphone上面通过简单的注册表设置来防止手机进入休眠状态。
首先,最容易想到的办法就是不断地给OS发送空(键盘)消息:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
打开VS2008的Remote Registry Editor,连接到我们的Smartphone,这里以WM6.1 Standard为例,浏览到以下目录:
![](https://images.cnblogs.com/cnblogs_com/fox23/powerdisplay.jpg)
在HKCU/ControlPanel/Power目录下,找到这个display的键,把这个DWORD值(默认为60),改为-1,这样就相当于禁用了系统定时休眠的功能。
接下来,为了让这个改动立即生效,我们得广播一个消息让OS知道初始化时的某个键值发生了改变:
PostMessage(HWND_BROADCAST, WM_WININICHANGE,
0
,
0
);
在Pocket PC上也有相应的设置:
![](https://images.cnblogs.com/cnblogs_com/fox23/ppcbacklight.jpg)
说到这里,顺便推荐一篇园子里的文章:
http://www.cnblogs.com/Endink/archive/2006/07/18/sharping.html
文中介绍了在托管代码中控制背光和周期性的调用 SystemIdleTimerReset()函数来复位休眠定时器的方法,值得一看。
最后,提示一下,对程序中所有对注册表的改动,都别忘了在退出程序的时候将它们还原成原来的设置,以免影响用户的使用。
Enjoy it !
黄季冬