解决WinCE自动挂起的问题
生活随笔
收集整理的這篇文章主要介紹了
解决WinCE自动挂起的问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 默認(rèn)的WINCE設(shè)置是會(huì)自動(dòng)掛起的,在電源管理界面里設(shè)置從不自動(dòng)掛起后能夠禁止它自動(dòng)掛起,同時(shí)修改了以下一些注冊(cè)表: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Timeouts] ??"ACUserIdle"=dword:0 ; in seconds ??"ACSystemIdle"=dword:0 ; in seconds ??"ACSuspend"=dword:0 ; in seconds ??"BattUserIdle"=dword:0 ; in seconds ??"BattSystemIdle"=dword:0 ; in seconds ??"BattSuspend"=dword:0 ; in seconds ??"BattPowerOff"=dword:0 ??"ExtPowerOff"=dword:0 ??"WakeupPowerOff"=dword:0 ??"ScreenPowerOff"=dword:0 但當(dāng)使用了hive 注冊(cè)表時(shí)即使在定制OS的時(shí)候就將以上的值設(shè)置好仍然會(huì)自動(dòng)掛起,而在WINCE的電源管理界面查看這些值是正確的,實(shí)際上是以上注冊(cè)表信息是存儲(chǔ)到system.hv中,一般情況下加載pm.dll的時(shí)候還無法從其它存儲(chǔ)器中讀取system.hv,pm.dll在無法讀取這些注冊(cè)表值的時(shí)候就會(huì)使用一些默認(rèn)值,而這些默認(rèn)值是會(huì)進(jìn)行自動(dòng)suspend的,所以需要在system.hv能夠讀取后使用如下代碼讓系統(tǒng)重新讀取超時(shí)設(shè)置。 HANDLE hevReloadActivityTimeouts =? ? ??OpenEvent(EVENT_ALL_ACCESS, FALSE, _T("PowerManager/ReloadActivityTimeouts")); ??if (hevReloadActivityTimeouts) { ??SetEvent(hevReloadActivityTimeouts); ??CloseHandle(hevReloadActivityTimeouts); ??}?? 這部分由應(yīng)用程序或者其它驅(qū)動(dòng)來完成都可以。 |
總結(jié)
以上是生活随笔為你收集整理的解决WinCE自动挂起的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用GPRS模块进行TCP/UDP连接的
- 下一篇: Wi-Fi速度慢的十个原因以及解决办法