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目录下,当然了,我们也应该拷贝到BSP的FILES文件夹下面,这样,对整个BSP便以的时候,就会把此文件从FILES文件夹下面拷贝到release目录下。
2) 在platform.bib中加入下面的内容,其通用格式如下:
filename.xxx $(_FLATRELEASEDIR)/ filename.xxx NK H
这里的filename表示文件名,而xxx表示文件的后缀名,可以是exe、bin、dll、lnk等文件;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界面如下图所示: