为Symbian的console程序批件外衣(增加启动图标)

通常我们写console程序,要不就是只有一个CConsoleBase类的console输出,要不干脆就是后台程序连这个都不要,所以基本上也就不会有什么资源文件了。从Carbide的project wizard创建的console程序就是这样的“裸体”状态(通常咱就是这样干的不是吗?)。

 

裸体的console程序用IDE从模拟器启动倒没什么问题,但是我们却不能在模拟器里面找到启动它的图标,更别说简单打好包安装在手机上了。譬如说出现这么一个场景:我们的console程序是一个服务器(后台)程序,另外我们又写了一个客户端程序(标准的Symbian C/S架构)。我们需要在服务器程序正在运行的情况下调试咱的客户端程序……不行了吧?

 

这时候我们需要把我们的console程序披上一件有icon的外衣(很简单的改动):

 

1.拷贝一个.mif 文件作图标。这个可以自己用mif编辑器画,或者在SDK的一个目录(/Epoc32/Data/z/resource/apps)找个现成的备份一个改成自己要的名字,还是放在哪个目录里面。

 

2. 在project中加上两个.rss文件。

第一个说明程序要用什么图标,要用什么名字做显示。

例如:(文件名:UITest.rss)

第二个注册用,将程序和要用的图标名字联系起来。

例如:(文件名:UITest_reg.rss)

 

 

3. 在mmp中加入对这两个资源文件:

 

SOURCEPATH        ../data
START RESOURCE    UITest.rss
HEADER
TARGET UITest
TARGETPATH resource/apps
END //RESOURCE

START RESOURCE    UITest_reg.rss
TARGET UITest_reg
TARGETPATH       /private/10003a3f/apps
END //RESOURCE

 

 

4. 上一步完成并编译后,模拟器里面已经可以找到这个程序的图标并正常启动了。如果需要打成sis包装在手机上,还需要一步。

在工程的.pkg文件中加入:

"$(EPOCROOT)Epoc32/data/z/resource/apps/UITest.rsc"    -"!:/resource/apps/UITest.rsc"
"$(EPOCROOT)Epoc32/data/z/private/10003a3f/apps/UITest_reg.rsc"    -"!:/private/10003a3f/import/apps/UITest_reg.rsc"
"$(EPOCROOT)Epoc32/data/z/resource/apps/UITest.mif"     -"!:/resource/apps/UITest.mif"

 

如果使用命令行编译,其中的EPOCROOT需要正确的设置为所使用的SDK路径(包含epoc32文件夹的那个文件夹)。

 

 

这样,不管是在模拟器还是真机上,我们都能通过图标启动我们的console程序了!

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值