|
我按照如下的方法想做一个开机自运行我的应用程序(MyApp.exe),可怎么也不成功.开机后LCD没有显示(黑屏),我查了下WINDOWS目录,其目录下根本没有MyApp.exe.也就是说我的应用程序(MyApp.exe)没有打包进nk.
1. 假定Windows CE.NET目标工程目录为E:\Project\MyWinCE,并且工程已经Build成功,
假定Windows CE.NET的应用为MyApp.exe;
2. 将MyApp.exe复制到E:\PROJECTS\MyWinCE\RelDir\CEPC_X86Release目录下;
3. 修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:
MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H
4. 创建快捷方式文件MyApp.lnk,文件内容如下:
10#\Windows\MyApp.exe
MyApp.lnk文件也放入E:\PROJECTS\MyWinCE\RelDir\CEPC_X86Release目录下;
5. 修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:
MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H
6. 修改MyWinCE工程的project.dat文件,添加如下内容:
Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")
7. 修改MyWinCE工程的platform.bib文件,在FILES Section添加如下内容:
MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H
MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H
8. Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)
9. 成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。
特:
Windows CE.NET的桌面确实漂亮,但是如果我们的嵌入式系统使用微软的桌面,总让我感觉不伦不类。因此,要想个办法,让我们的程序开机启动,把微软的那个桌面给替换掉。
其中使用startup的快捷方式再加上隐藏任务栏的方法,效果非常的好,但是每次启动的时候,总是微软的桌面先出来,再启动我们的程序,感觉还是不爽。
最近发现一种方法,
1) 首先新建工程,把你的应用程序放到内核里面去(前面介绍了如何做);
2) 编译平台;
3) 修改shell.reg的文件 :
在文件中有这样一行:
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
把这个explorer.exe改成你的应用程序(比如:MyApp.exe)就可以了;
4) Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)
5) 成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。
我用的是PB5.0,没有找到这个菜单Platform Builder IDE:【Build】->【Make Image】,我用的是:Platform Builder IDE:【Build OS】->【Make Run-Time Image】会不会这里有问题?我找不到原因了。请各位指点在下!
|
|