天天看点

如何让应用程序随wince操作系统自启动

       如何让应用程序随wince操作系统自启动呢?我搜索了一下,网上有不少方法,但有时也会有疏漏的地方,通常一点小小的错误也会导致整个环节不能进行下去。

     首先,假设你的应用程序为:MyApp.exe。   

     方法一:主要思想:将应用程序及其快捷方式也添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行。

步骤:

1先保证原工程文件是可以编译成功的。假设编译好的nk.bin文件所在文件夹为xxx_Relase。

2创建快捷方式文件MyApp.lnk,文件内容如下: 10#”/Windows/MyApp.exe”(注意引号)

3在pb中修改project.bib文件,在FILES Section添加: MyApp.exe      $(_FLATRELEASEDIR)/MyApp.exe NK HMyApp.lnk       $(_FLATRELEASEDIR)/MyApp.lnk  NK H (注:$(_FLATRELEASEDIR)表示xxx_Relase文件夹;NK后面的H表明加入到nk.bin中的文件为隐藏属性)

4 把快捷方式添加到StartUp目录下,具体为:修改工程的project.dat文件,添加如下内容: Directory("/Windows/Startup"):-File("MyApp.lnk","/Windows/MyApp.lnk") 5从道理上讲,如果这时把MyApp.exe和MyApp.lnk拷贝到xxx_Relase文件夹下,然后Build->MakeImag的话就会把你的应用程序添加到NK里,但实际情况并非如此,经我实验,先要把工程文件全部rebuild一下,我这儿是sysgen了一下,如果你设置了在编译完后MakeImage 的话,会有错误提示你未在你的磁盘上找到MyApp.exe。不用管它。把MyApp.exe和MyApp.lnk文件拷贝到xxx_Relase文件夹下,然后MakeImage一下(记住此时千万不能再rebuild了,否则会前功尽弃),把生成的NK.bin烧写到flash里,这样就可以看到你的应用程序MyApp.exe自启动了.    

     方法二:主要思想:将应用程序添加到映像里,然后用你的应用程序直接替换Wince的桌面程序。    

 步骤:

1. 像方法一一样把你的应用程序添加到映象里。     提示:要查看添加映象是否成功,可以在操作系统启动后,看一下windows目录下是否有你的应用程序MyApp.exe(先要设置为可以查看系统文件和隐藏文件)。

2.修改shell.reg(若在pb里找不到,可以到xxx_Relase文件夹下找):[HKEY_LOCAL_MACHINE/init]"Launch50"="explorer.exe""Depend50"=hex:14,00, 1e,00把这个explorer.exe改成你的应用程序(比如:MyApp.exe)。

3. MakeImage一下(还是记住不能再build了),把生成的NK.bin烧写到flash里,这样就可以看到你的应用程序MyApp.exe自启动了.    这样做的好处是启动的时候wince的桌面程序都不会启动了,坏处是当你把应用程序关闭的时候由于原wince桌面程序的丢失而会使机器死机。    

     方法三:主要思想:将应用程序添加到映像里,然后修改注册表,让应用程序自启动。这回不替换wince的桌面程序,而是让wince像加载桌面一样加载你的应用程序,效果跟方法一是一样的。

 步骤跟方法二是一样的,只是第二步稍有不同:在shell.reg文件中[HKEY_LOCAL_MACHINE/init]之下添加如下语句:"Launch80"="MyApp.exe" "Depend80"=hex:1E,00    说明:"Depend80"=hex:1E,00用来设置启动顺序和依赖程序,若你的应用程序不依赖于其它程序,这句可以不加。   

      另外,应用程序也不一定就要加载到映象文件里,可以直接从u盘,硬盘,sd卡等加载,但是要先保证你的应用程序自启动时系统已能正确识别挂接的u盘,硬盘,sd卡等。

继续阅读