让程序在Windows CE系统启动时自动运行(转)

时间:2021-03-06 05:59:06
  demon(2005-06-25)
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程序就会在系统启动时自动运行。

至此,随心所欲的让自己的程序在Windows CE系统启动时自动运行了,一个字,爽!