技术开发 频道

防止Smartphone进入休眠状态


【IT168技术文档】

  首先,最容易想到的办法就是不断地给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上也有相应的设置:

  最后,提示一下,对程序中所有对注册表的改动,都别忘了在退出程序的时候将它们还原成原来的设置,以免影响用户的使用。
0
相关文章