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 ! 黄季冬