博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CF.Skills]防止Smartphone进入休眠状态
阅读量:6245 次
发布时间:2019-06-22

本文共 726 字,大约阅读时间需要 2 分钟。

之前我有一篇随笔提到了如何编程在Pocket PC上以预定的时间运行你的程序,也提到了使用OpennetCF实现长时间间隔定时运行程序。文章在这里:
其实还有一种另一种有趣的方式,在Smartphone上面通过简单的注册表设置来防止手机进入休眠状态。
首先,最容易想到的办法就是不断地给OS发送空(键盘)消息:
keybd_event(VK_NONAME, 
0
, KEYEVENTF_SILENT, 
0
);
不过这样会把背光也一直开着,这有些浪费哦。于是我们设想要是注册表里面有相关的设置就好了,简单的查阅了一下注册表之后,果然有相应的一些键,可以设置为不让WM设备休眠。
打开VS2008的Remote Registry Editor,连接到我们的Smartphone,这里以WM6.1 Standard为例,浏览到以下目录:
在HKCU/ControlPanel/Power目录下,找到这个display的键,把这个DWORD值(默认为60),改为-1,这样就相当于禁用了系统定时休眠的功能。
接下来,为了让这个改动立即生效,我们得广播一个消息让OS知道初始化时的某个键值发生了改变:
PostMessage(HWND_BROADCAST, WM_WININICHANGE, 
0
0
);
在Pocket PC上也有相应的设置:
说到这里,顺便推荐一篇园子里的文章:
文中介绍了在托管代码中控制背光和周期性的调用
SystemIdleTimerReset()函数来复位休眠定时器的方法,值得一看。
最后,提示一下,对程序中所有对注册表的改动,都别忘了在退出程序的时候将它们还原成原来的设置,以免影响用户的使用。
Enjoy it !
黄季冬
你可能感兴趣的文章
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
计算机网络与Internet应用
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
Mars说光场(3)— 光场采集
查看>>
[CodeWars][JS]如何判断给定的数字是否整数
查看>>
实现div毛玻璃背景
查看>>
zoj 1010 Area 判断线段是否相交(把线段扩充一倍后 好处理) + 多边形求面积...
查看>>
sublime text ctrl+b
查看>>
时间复杂度几个概念
查看>>
poj 1273 Drainage Ditches(最大流入门)
查看>>