加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

WinCE5.0应用程序开机自动启动

发布时间:2020-12-15 18:35:08 所属栏目:百科 来源:网络整理
导读:网上有很多关于这个题目的文章,不外乎一个版本:大致有三种方法,云云。我参考了大家的办法,最后找到一个最简单的办法,不用PB之类的修改,只要修改注册表。对于WinCE5.0来说,实现开机启动任何应用程序,按照如下办法修改注册表: 一、原始注册表如下: [

网上有很多关于这个题目的文章,不外乎一个版本:大致有三种方法,云云。我参考了大家的办法,最后找到一个最简单的办法,不用PB之类的修改,只要修改注册表。对于WinCE5.0来说,实现开机启动任何应用程序,按照如下办法修改注册表:

一、原始注册表如下:

[HKEY_LOCAL_MACHINE/init]
"Launch20"="device.exe"

"Launch30"="gwes.exe"

"Depend30"=hex:14,00

"Launch50"="explorer.exe"
"Depend50"=hex:14,00,1e,00

"Launch60"="services.exe"
"Depend60"=hex:14,00

二、欲启动的应用程序的带目录名:flashshellrun.exe。修改后的注册表:

[HKEY_LOCAL_MACHINE/init]
"Launch20"="device.exe"

"Launch30"="gwes.exe"

"Depend30"=hex:14,00

"Launch80"="flashshellrun.exe"

"Depend80"=hex:14,00


三、如果不想要文件管理器启动,可以直接删除此项。注册表改成下表:

[HKEY_LOCAL_MACHINE/init]
"Launch20"="device.exe"

"Launch30"="gwes.exe"

"Depend30"=hex:14,00

"Launch60"="services.exe"

"Depend60"=hex:14,00

"Launch80"="flashshellrun.exe"

"Depend80"=hex:14,00

这样做的风险是:一旦应用程序加载失败,有没有文件管理器加载,将会黑屏。

四、避免黑屏的风险,可以从shellrun.exe这个应用程序启动壳子想办法。其源文件如下:

#include "stdafx.h" #include <windows.h> #include <commctrl.h> int _tmain(int argc,_TCHAR* argv[]) { WIN32_FIND_DATA fd; HANDLE hd=INVALID_HANDLE_VALUE; LPCTSTR lpCmdLine = L"Storage Cardmyapp.exe"; int iCount = 20;? while(iCount--)? {? hd=::FindFirstFile(lpCmdLine,&fd);? Sleep(500);? if(INVALID_HANDLE_VALUE!=hd) break;? }? if(INVALID_HANDLE_VALUE ==hd) lpCmdLine = L"explorer.exe"; FindClose(hd); SHELLEXECUTEINFO ShExeInfo={0}; ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO); ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS; ShExeInfo.hwnd=NULL; ShExeInfo.lpVerb=NULL; ShExeInfo.lpFile=lpCmdLine; ShExeInfo.lpParameters=L""; ShExeInfo.lpDirectory=NULL; ShExeInfo.nShow=SW_SHOW; ShExeInfo.hInstApp=NULL; ShellExecuteEx(&ShExeInfo); return 0; } 这样,如果启动壳子程序失败,将直接加载文件管理器,避免黑屏。哈哈!一切搞定。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读