WINCE创建快捷方式

********************************LoongEmbedded*****************
作者:LoongEmbedded(kandi)
时间:2011.06.30

类别:WINCE系统开发
********************************LoongEmbedded*****************

 

1.      快捷方式文件的结构

WINCE的快捷方式是一个后缀名为.lnk的文本文件,在此,快捷方式文件名是KandiApp.lnk

其内容格式如下:

数字#路径,比如

21#/Windows/KandiApp.exe

上面内容的意思是指向windows文件夹下KandiApp.exe可执行文件,也即双击快捷方式文件KandiApp.lnk,会执行放在windows文件夹下面的KandiApp.exe。这里“21”应该是代表#字符后面的字符数量,包括/,但是我把21该为11,也可以正常使用此快捷方式,那应该这里的21只是参考作用,而系统会算出“/Windows/KandiApp.exe”的字符数。

 

2.      把快捷方式文件包含到内核中

1点提到在双击快捷方式文件KandiApp.lnk,会执行放在windows文件夹下面的KandiApp.exe,那么我们就要把KandiApp.exe包含在内核中,下面是需要的动作:

1)      KandiApp.exe拷贝在release目录下,当然了,我们也应该拷贝到BSPFILES文件夹下面,这样,对整个BSP便以的时候,就会把此文件从FILES文件夹下面拷贝到release目录下。

2)      platform.bib中加入下面的内容,其通用格式如下:

filename.xxx          $(_FLATRELEASEDIR)/ filename.xxx    NK     H

这里的filename表示文件名,而xxx表示文件的后缀名,可以是exebindlllnk等文件;H是指filename文件的文件属性,如下:

S:系统

H:隐藏

R:压缩的资源文件

C:压缩文件

U:非压缩文件

所以我们需要根据此文件属性来选择对应的属性值。

//KandiApp.ex包含到内核中,这里的U表示非压缩文件

KandiApp.exe          $(_FLATRELEASEDIR)/KandiApp.exe     NK     U

//当然了,我们也要把KandiApp.lnk包含到内核中。

KandiApp.lnk                 $(_FLATRELEASEDIR)/KandiApp.lnk          NK     U

 

3.      把快捷方式放在桌面上

格式如下:

Directory(“要拷贝到的目的文件夹”):-File(“快捷方式名称”,”要拷贝的快捷方式文件的路径及名称”),比如在project.dat下加入下面语句:

Directory("/Windows/LOC_DESKTOP_DIR"):-File("KandiApp.lnk","/Windows/KandiApp.lnk")

其中LOC_DESKTOP_DIR指本地桌面,这类的宏在/WINCE600/PUBLIC/SHELL/OAK/FILES/loc.txt下定义,常用的有:

LOC_DESKTOP_DIR                           :

LOC_MYDOCUMENTS_DIR           My Documents

LOC_PROGRAMFILES_DIR           Program Files

LOC_RECENT_DIR                      Recent

在此备忘一下:

WINCE开始后标准界面的“Windows Embedded CE6.0”的图片就是在/WINCE600/PUBLIC/SHELL/OAK/FILES文件夹下面的,我们可以通过替换此图片为我们需要的。

 

经过上面的步骤之后编译生成新的系统,WINCE界面如下图所示:

原文地址:https://www.cnblogs.com/liang123/p/6325735.html