WinCE桌面添加应用程序的快捷方式
(1) 创建KinglyApp.lnk 快捷方式文件
使用桌面Windows 自带的记事本创建,保存时将后缀名改为lnk即可。.lnk 文件其实是一个文本文件,它包含用于链接目标的命令行以及命令行的长度,用于指向该快捷方式对应的应用程序存放的路径(建立起应用程序与其快捷方式之间的对应关系),其格式为 “<length>#<command line>”,其中length 是#后所有字符的个数,因此,KinglyApp.lnk的内容如下:
22#\KinglyFlash\MyApp.exe
注意:当把KinglyApp.lnk 后缀改为.lnk 后,使用记事本一般就无法打开了。
把这个文件放入smdk2410\FILES 目录中。
(2) 把快捷方式添加到内核中
打开project.bib 文件,添加如下内容:
KinglyJetApp.lnk $(_FLATRELEASEDIR)\KinglyApp.lnk NK U
这样,执行SYSGEN 的时候会把KinglyJetApp.lnk加入到内核中,最后会存在于开发板的\Windows 目录中。
注意:KinglyJetApp.lnk是生成的\Windows 目录下的快捷方式名,而KinglyApp.lnk则是第一步中建立的lnk文件名,否则会编译错误,当然,两个文件名也可以是一样的。
(3) 把快捷方式添加到桌面
打开project.dat,加入以下内容:
Directory("\Windows\LOC_DESKTOP_DIR"):-File("Kingly测试.lnk","\Windows\KinglyJetApp.lnk")
这将会在桌面出现名称为“Kingly测试”的快捷方式,它是KinglyJetApp.lnk的一个
拷贝,其内容和KinglyJetApp.lnk是一样的。
(4) 最后执行菜单Builder -Sysgen,生成NK.bin 和NK.nb0
把它们烧写或者下载到开发板启动后,就会在桌面看到“Kingly测试”快捷方式了。
++++++++++++++++++++++++++++++++++++
winCE系统启动时自动运行应用程序或放在桌面--已验证
一、快捷方式
假定Windows CE.NET目标工程为CEPC类型,目录为E:\Project\MyWinCE,
并且工程已经Build(或者Rebuild)成功;
假定WindowsCE.NET的应用为"MyApp.exe"
1.将MyApp.exe复制到E:\PROJECTS\MyWinCE\RelDir\SAMSUNG_SMDK2440_ARMV4IRelease目录下;
2.修改MyWinCE工程的project.bib文件,在FILES添加
MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H
3.创建快捷方式文件MyApp.lnk(先建文本文件,写入内容后再改扩展名为.lnk),文件内容如下(就一行字符):
10#\Windows\MyApp.exe
MyApp.lnk文件也放入E:\PROJECTS\MyWinCE\RelDir\SAMSUNG_SMDK2440_ARMV4IRelease目录下
4.修改MyWinCE工程的project.bib文件,在FILES添加
MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H
5.修改MyWinCE工程的project.dat文件,添加如下内容:
Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")
6.Platform Builder IDE->菜单Build->MakeImage(记得千万不要Build或者Rebuild,
否则你就要重新来一遍)
到此得到的NK.bin就包含了应用程序MyApp.exe和MyApp.lnk,
并且MyApp程序会在系统启动时自动运行。
已通过运行!!!!!!!!!!一一2007.9.17晚
补充:2007.12.22
WINCE 建立快捷方式、内核添加文件(转)
1.WINCE快捷方式结构
WINCE的快捷方式和WIN2K,XP的不同,只是一个后缀名为.LNK的文本文件.
其格式如下: 数字#路径
比如,有个快捷方式写法如下:23#\Windows\ToolViewer.exe
指的是指向WINDOWS文件夹下的Toolviewer.exe可执行文件.数字究竟代表的是什么意思,我也不太清楚;有一说法是#后的ACSII字符 的数量,但如果把上述例子改为1#\Windows\ToolViewer.exe也可正常运行,但去掉数字则系统无法识别.虽然可以正常使用,但建议还 是按照文档#之后的ACSII字符数量填写.
2.如何把快捷方式加到内核中
假设我们有一快捷方式EnglishExp.lnk,要将其加到内核中.
在PB环境中打开工程,在project.bib文件的FILES字段中添加:
EnglishExp.lnk $(_WINCEROOT)\PLATFORM\MyAPPC\EnglishExp.lnk NK H
其中 $(_WINCEROOT)指的是PC机子上PB安装的根目录,H指的是文件属性,意义代表如下:
S:系统
H:隐藏
R:压缩的资源文件
C:压缩文件
U:非压缩文件
3.如何把快捷方式放到桌面
语法如下:Directory("欲拷贝至的文件夹"):-File("更改的名称","要拷贝的文件")
假设我们有一快捷方式EnglishExp.lnk,要将其放到桌面,并把快捷方式的名称改为"英语"
在PB的project.dat文件加入此句:
Directory("\Windows\LOC_DESKTOP_DIR"):-File("英语.lnk","\Windows\CEnglishExp.lnk")
包含在内核里面的文件全部释放到"\Windows"文件夹下.
LOC_DESKTOP_DIR指的是本地桌面.在PB中,常用的还有如下宏定义:
LOC_DESKTOP_DIR: 桌面
LOC_MYDOCUMENTS_DIR: My Documents
LOC_PROGRAMFILES_DIR: Program Files
LOC_FAVORITES_DIR: Favorites
LOC_RECENT_DIR: Recent
LOC_MYDOCUMENTS_DIR: My Documents
LOC_HELP_DIR: Help
更多的定义可以在ceshellfe.str文件中找到
4.消除快捷方式的小箭头
在PC机的操作系统中可以通过修改注册表来取消快捷方式左下角的小箭头,但在WINCE中注册表没有关于取消小箭头的键值(可能我没找到^_^).在这里我采用的是直接修改资源文件的做法.
打开shcore.res文件,其中文的路径在 $(_WINCEROOT)\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL\0804\,然后将1205的ICO的小箭头删 掉即可.注意,不是删除ID为1205的ICO图标,是删除ICO图标中的内容.
5.微软应用程序的快捷方式
如果在PB中添加了微软的应用软件,便会在桌面和程序中添加其快捷方式;如果觉得快捷方式碍眼,可以将其注释掉再编译即可.
现在列出一些dat文件中定义的微软应用软件的快捷方式:
wceappsfe.dat (C:\WINCE420\PUBLIC\WCEAPPSFE\OAK\FILES\),内含:pmail,wordpad
wceshellfe.dat (C:\WINCE420\PUBLIC\WCESHELLFE\OAK\FILES\),内含:iexplore,帮助文档在"help"文件夹的快捷方式
viewers.dat (C:\WINCE420\PUBLIC\VIEWERS\OAK\FILES\), 内含:pdfviewer,imageviewer,Presviewer,Docviewer
directx.dat (C:\WINCE420\PUBLIC\DIRECTX\OAK\FILES\),内含:Media Player,DVD Player
6. 修改默认shell
其实让一个程序在wince里启动和windows里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\windows\startup下面。
步骤如下:(假设app.exe已经拷贝到windows下面)
在pb中创建一个文件,文件类型选txt,然后命名为.lnk后缀,假设名字为test.lnk
编辑其内容为: 16#\windows\app.exe
备注:前面的16是# 后面所有字符的总和,包括空格。Wince的帮助文档上说这么定义就行,但是我尝试后,最后down到目标机上面时提示找不到文件,在wince里查看这 么创建的test.lnk的属性,发现其指向\windows\app.exe后面还有两个方框,因此不对,我的解决方法是修改test.lnk的内容为 16#"\Windows\app.exe"
编辑好lnk文件内容后在pb中修改project.bib
在files段后面添加下面一行:(和添加别的文件到image中类似,也要在pb的flatform菜单的setting下添加build语句,同上,不再赘述)
test.lnk $(_FLATRELEASEDIR)\test.lnk NK S
project.dat
增加下面一行:
Directory("\Windows\startup"):-File("test.lnk","\Windows\test.lnk")
这样后系统启动后就会自动启动我们的程序了。
另外一种方法是编辑注册表:在project.reg中添加如下内容
[HKEY_LOCAL_MACHINE\init]
"Launch80"="app.exe"
"Depend80"=hex:14,00,1e,00
这个是设定启动顺序,launch后面的数字越大的越是后启动,Depend80后面的指定依赖项,为16进制,上面的语句表明依赖项为launch20 定义的device.exe和launch30中定义的gwes.exe, 注意Launch后面的数字范围为0到99 ,此范围之外的将不会有效果。
这样两种方法的效果都是系统都是系统先启动资源管理器explorer.exe(就是看到的默认桌面),然后启动我们的程序,(如果利用 taskman shell然后去掉任务栏那么效果更好)但是这样还不够,我们如何不显示桌面,直接显示我们的程序呢?
网上有人介绍的方法是去掉standard shell,但是我编译总是报错。我采用的方法是替换注册表中lauch50中的explorer.exe为我的app.exe,即搞定。
修改注册表的方法:先把带KITL的系统跑起来,在PB的TOOLS->Remote registry editor里修改,验证有效后,再去修改platfrom.reg, 或者自己写个REG文件,然后在platform.reg里INCLUDE进来 SYSGEN后确认PBWORKSPACE里相关项目的REL目录里reginit.ini文件里包含了自己做的修改后make image然后DOWNLOAD下去就OK了。
值得补充的是,我们前面介绍的步骤中那个修改平台setting,添加语句的,是因为我每次都是重新sysgen和build,如果只是简单的 make image的话(都是pb中的build OS菜单下的命令),那么将直接用release中的内容,因此也可以直接将文件放到release文件夹,然后改project.bib等实现往 image中添加文件。 同样,也可以直接修改release中的shell.reg中的launch50值为我们自己的程序(或者类似修改reginit.ini文件, reginit.ini文件存放有所有wince的静态注册表,来达到去掉桌面,直接启动我们程序的效果)。
注意,这么启动的程序,如果点击关闭,就会死机的,因为没有窗口运行了。实际运用中,当然不会让用户关闭我们的程序,除非他一起关闭系统。
如果也需要build的话,可以通过往image中添加文件的方法将我们改好的shell.reg添加到release目录。
总之,今天是把定制shell算是基本完成了。
1.让桌面不显示"我的电脑","回收站"
删除以下键值:
[HKEY_LOCAL_MACHINE\Explorer\Desktop]
{000214A0-0000-0000-C000-000000000046} ;"My Computer"
{000214A1-0000-0000-C000-000000000046} ;Recycle Bin"
存在这两个键值的文件有:
$(_WINCEROOT)\PUBLIC\SHELL\OAK\FILES\shell.reg
$(_WINCEROOT)\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe.reg
$(_WINCEROOT)\PUBLIC\WCESHELLFE\OAK\FILES\wceshellfe88.reg
2.直接删除文件,不放回回收站
[HKEY_LOCAL_MACHINE\Explorer]
"UseRecycleBin"=dword:0 ;设置0为直接删除;设置1为放入回收站
WinCE桌面添加应用程序的快捷方式相关推荐
- WinCE控制面板添加应用程序
WinCE系统中的控制面板和Windows系统中的控制面板原理是一样的,里面就是包含了一些应用程序.WinCE系统的控制面板由Ctlpnl.exe,Control.exe和一些.cpl文件组成,其中C ...
- centos8在桌面添加pycharm和idea快捷方式没有allow launching选项问题
前言 出于使用习惯,使用了centos8.3的linux系统,在搭建开发环境时,由于使用习惯问题,需要将pycharm和idea的快捷方式添加到桌面,因而采用在centos8中采用x11的经典桌面,具 ...
- win10添加应用程序到开机启动项
方法一: 1.首先创建或者找到需要添加的程序的快捷方式 2.打开运行对话框(win键+R),输入命令 shell:startup 会直接弹出启动项对应的目录,把应用程序快捷方式复制到启动目录 注:本方 ...
- linux版qq怎么创建桌面快捷方式,Linux_ubuntu系统怎么把网页版QQ添加到程序列表?,新手教程:ubuntu网页QQ快捷方 - phpStudy...
ubuntu系统怎么把网页版QQ添加到程序列表? 新手教程:ubuntu网页QQ快捷方式 1.chrome浏览器打开网页QQ网址:http://web2.qq.com/ 2.打开菜单>更多工具& ...
- linux桌面添加软件快捷方式,如何在 Ubuntu 桌面手动添加应用快捷方式
原标题:如何在 Ubuntu 桌面手动添加应用快捷方式 在这篇快速指南中,你将学到如何在 Ubuntu 桌面和其他使用 GNOME 桌面的发行版中添加应用图标. -- Abhishek Prakash ...
- android快捷代码,Android实现向桌面添加快捷方式的代码
对于一个希望拥有更多用户的应用来说,用户桌面可以说是所有软件的必争之地,如果用户在手机桌面上建立了该软件的快捷方式,用户将会更频繁地使用该软件.因此,所有 Android程序都应该允许用户把软件的快捷 ...
- html5添加到安卓桌面图标,Android向桌面添加快捷方式,使其指向特定的网页
转载: http://www.cnblogs.com/wanyao/archive/2011/11/27/2265333.html 今天遇到一个需求,就是向桌面添加一个快捷方式,使点击时链接到特定的网 ...
- android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)网页
/* * 在桌面添加快捷方式 * @param icon 快捷方式图标 * @param name 快捷方式名称 * @param uri ...
- 重启计算机桌面出现system,Win7系统桌面添加自动重启快捷方式的方法
在win7系统中,当我们进行一些操作的时候,需要重启电脑,一般要打开开始菜单然后选择关机才会看到重启,显得有点麻烦,其实有更简单的方法,就是在桌面添加自动重启快捷方式,该怎么操作呢,本文就给大家讲解一 ...
最新文章
- 教你如何查看 Git 提交中发生了什么变化
- Visual Studio 20年
- 如何打开手机端口_微信接收图纸dwg怎么打开?如何手机查看CAD图纸,三步免费教你...
- 中国电子学会scratch等级考试四级
- mysql服务的关闭与启动
- 大数据-HDFS 配置与使用
- KVM虚拟化下使用virsh shutdown命令无法关闭windows
- UVA1583 - Digit Generator
- 怎样将程序猿写出来的程序打包成安装包(最简单的)
- C#复制文件夹下的所有内容到另一个文件夹
- oa人员导入模板_别拿OA不当系统,让CIO困惑的几个OA小问题
- 腾讯云 鉴权失败,请确认服务器已启用密码鉴权并且账号密码正确? permission denied (publickey,gssapi-keyex,gssapi-with-mic)
- 北京航空大学计算机录取分数线,北京航空航天大学录取分数线2021是多少分(附历年录取分数线)...
- 奈奎斯特与香农定理_奈奎斯特定理和香农定理有什么区别?
- 【笔记】《iOS开发进阶-唐巧》
- 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践读后感
- java反射 enum参数_CookBook/3-Java反射.md at master · Byron4j/CookBook · GitHub
- 从u盘到计算机内存的过程,U盘装系统步骤图解(超详细)
- GBase 8a MPP Cluster SQL基础
- 智力题解题报告 No.3 计算24点
热门文章
- 概率论与数理统计——多方法解决-双样本方差的F检验-Excel/SPSS
- 敏感性、特异性、假阳性、假阴性(sensitivity and specificity)
- 支付宝支付成功之后的接口_继支付宝微信之后,51信用卡还款也开始收费了,手续费再创新高...
- 【Andrew Gelman多元统计】(基于R)
- 我们为什么要坚持写博客?
- Visual Assist 使用小结
- 如何在Server 2003查看 是 32位还是64位
- linux 强制类型转换,转载 指针强制类型转换
- 今日分享——点点小事对人的影响
- 表格维护生成器-部分字段不能修改或不能看见