社区
嵌入开发(WinCE)
帖子详情
wince 6.0要怎么实现开机启动指定的程序.
abxialiang
2010-06-26 10:36:54
硬件平台是TE6410开发板,嵌入的系统是wince 6.0,现在我做了一个程序,保存在SD卡里面,希望在开启开发板电源后进入系统能自动运行我的程序.查了大量的资料都无法实现(如下),主要原因是在wince系统中写入的任何东西,重启后都会还原,可能要进行烧写什么的.不知我这种情况我什么好的方法可以实现呢?
http://blog.csdn.net/guoleimail/archive/2009/09/10/4537885.aspx
...全文
620
17
打赏
收藏
wince 6.0要怎么实现开机启动指定的程序.
硬件平台是TE6410开发板,嵌入的系统是wince 6.0,现在我做了一个程序,保存在SD卡里面,希望在开启开发板电源后进入系统能自动运行我的程序.查了大量的资料都无法实现(如下),主要原因是在wince系统中写入的任何东西,重启后都会还原,可能要进行烧写什么的.不知我这种情况我什么好的方法可以实现呢? http://blog.csdn.net/guoleimail/archive/2009/09/10/4537885.aspx
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huohuobgp
2010-09-07
打赏
举报
回复
学习学习
weixiao361
2010-07-06
打赏
举报
回复
LZ链接的方法可以实现,仅仅要根据自己的情况做一些简单的修改
自己编了一个小程序,比如叫ShellExe.exe,将此程序加入到映像里,通过StartUp快捷方式调用ShellExe,ShellExe再去调用SD卡里的应用程序。
下面这段代码我是在VS2005中编译通过的,选择新建项目,选中Visual C++中的"智能设备"中的"Win32 智能设备项目”,在弹出的对话框中选择对应的SDK,创建新的项目。
将项目中的WinMain函数用下面的函数代替。
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
WIN32_FIND_DATA fd;
HANDLE hd=INVALID_HANDLE_VALUE;
lpCmdLine =_T("\\Storage Card\\DEBUG\\HMI_Run.exe");
//根据相应要启动的程序修改此路径
int iCount = 20;
while(iCount--)
{
hd=::FindFirstFile(lpCmdLine,&fd);
Sleep(500);
if(INVALID_HANDLE_VALUE!=hd) break;
}
if(0==iCount) return 0;
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;
}
生成ShellExe.exe的可执行文件,此段代码主要功能是查找指定的应用程序,然后执行;下面这段代码可以保证在SD卡文件系统正确加载后才去执行应用程序;
2、 新建一个快捷方式,如Autorun.lnk,按如下方式编辑其内容:
21#\windows\shellexe.exe
3、 将ShellExe.exe和Autorun.lnk添加到NK里,方法是在project.bib文件的
FILES
(注意不要加到models区域里面了)区域内加入如下内容:
ShellExe.exe $(_FLATRELEASEDIR)\ShellExe.exe NK H
Autorun.lnk $(_FLATRELEASEDIR)\Autorun.lnk NK H
同时这两个文件要放在Release文件夹中。
4、 在project.dat里加入如下内容:
Directory("\Windows\Startup"):-File("Autorun.lnk","\Windows\Autorun.lnk")5、 选择Make Image生成映像烧到FLASH里,开机运行,可以看到SD卡里的MyApp.exe被正确执行。
5、上述方法不行的话,就在platform.reg中加入
[HKEY_LOCAL_MACHINE\init]
"Launch80"="ShellExe.exe"
"Depend80"=hex:1e,00
重现 Make Image 即可
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoleimail/archive/2009/09/10/4537885.aspx
hazy
2010-07-05
打赏
举报
回复
你发的连接里面已经写得很明白了,不能实现吗?
leoliu0128
2010-07-04
打赏
举报
回复
很想知道除了重新定制内核外还有没有其他的方法??修改hive注册表到底怎么可以实现保存呢??这个问题一直没搞懂,期待高手的解答~~~~~~~
cjdxling
2010-06-29
打赏
举报
回复
把你要启动的程序放到BSP安装的目录的一个文件夹当中,在bib文件当中把file字段下,按规范把它作为NK的一部分。然后,BSP中修改reg文件。如果你要直接启动你的程序那么你就把它放在 explorer 加载顺序的前面。
wolfmvp
2010-06-29
打赏
举报
回复
假如注册表为HIVE类型,也就是可断电保存,不用重烧系统那么麻烦…
yangtseriver1020
2010-06-29
打赏
举报
回复
路过 学到了东东
benbentobecow
2010-06-28
打赏
举报
回复
楼主你需要在你注册表(platform.reg)下面修改:
[HKEY_LOCAL_MACHINE\init]
修改launch 数字 = 你的应用程序名字
之后将你的英语程序放到你的release目录下面make image编译出新的nk
之后将nk烧进你的设备即可
zhdi1986
2010-06-28
打赏
举报
回复
你需要在Release 目录中的common.reg或者platform.reg中添加[HKEY_LOCAL_MACHINE\init]来启动你的程序,同时需要在config.bib中或者project.bib中把你的应用程序添加到NK.BIN中。然后重新makeimage就可以了。也可以做个HIVE BASE 的NK,直接修改注册表试试。
91program
2010-06-26
打赏
举报
回复
不定制CE系统,是很难实现这个要求的
abxialiang
2010-06-26
打赏
举报
回复
[Quote=引用 1 楼 macrozhang001 的回复:]
在注册表里面指定就行了。
好像放到这里就可以了,但前提是你的应用所需的驱动必须要先于你的应用加载。
[HKEY_LOCAL_MACHINE\init]
[/Quote]
您说的不错,改注册表就可以了,但是现在的问题是注册表怎么改,直接在wince系统里面改话,重启后就什么都没有了.wince是 烧录在nand flash里面的,我觉得要添加启动项需要再烧写文件进去,我不会啊
IT铁哥
2010-06-26
打赏
举报
回复
在注册表里面指定就行了。
好像放到这里就可以了,但前提是你的应用所需的驱动必须要先于你的应用加载。
[HKEY_LOCAL_MACHINE\init]
abxialiang
2010-06-26
打赏
举报
回复
[Quote=引用 6 楼 xilidecai 的回复:]
修改注册表,重新定制一个系统就可以了嘛~~~
[/Quote]
说起来确实简单,但是怎么做啊,这写注册表也不是个容易的事呢.如果直接在系统里面写会还原,编译成bin文件也没有反应,用烧录的方法更加不懂啊.请用一个最简单的方法稍微请具体点好吗?
xilidecai
2010-06-26
打赏
举报
回复
修改注册表,重新定制一个系统就可以了嘛~~~
daifeijin
2010-06-26
打赏
举报
回复
你要自己定制一个系统才行,不然是不可以实现的。
Ei
2010-06-26
打赏
举报
回复
1.实现HIVE 写注册表。
2.定制CE的时候 加进去
Wince
6.0
开机
自
启动
总结
最近在做基于
Wince
6.0
的应用
程序
的开发,应用
程序
基本开发完毕,需要把
程序
烧写进内核。经过一段时间折腾,算是完成了任务,先总结如下:
wince
6.0
的应用
程序
烧写进内核方法与
wince
5.0修改的地方基本一致。这里需要...
Wince
6.0
系统
启动
后直接运行应用
程序
的
实现
与问题
在网上搜了下,要
实现
WINCE
系统
启动
后直接运行
程序
,有三种方法,这里主要是结合我的实际经历来阐述一下值得注意的一些问题。 1、不管是哪种方法,首先都得把应用
程序
app.exe放入NK映像中,在project.bib中添加...
wince
6.0
开机
自
启动
应用
程序
生成ShellExe.exe的可执行文件,此段代码主要功能是查找
指定
的应用
程序
,然后执行;下面这段代码可以保证在SD卡文件系统正确加载后才去执行应用
程序
。 while(iCount--) { hd=::FindFirstFile(lpCmdLine...
WCE
6.0
一些问题
一、修改注册表校正触摸笔......七、
wince
6.0
开发环境搭建...7 八、应用
程序
连接不上开发板...8 九、
wince
中查看驱动信息...8 十、
WINCE
应用
程序
开发流程...9 十一、 YC5.6寸屏配置参数...29 十二、处理触摸屏抖动
Wince
通过注册表设置
开机
启动
wince
自动
启动
程序
设置修改注册表[HKEY_LOCAL_MACHINE\init]“Launch80〃=”app.exe”“Depend80〃=hex:14,00,1e,00这个是设定
启动
顺序,launch后面的数字越大的越是后
启动
,Depend80后面的
指定
依赖项,为16进制,...
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章