关于symbian手机开机自启动的一个问题

zhengyuyang2011 2012-03-30 03:12:35
关于symbian手机开机自启动,我上网查到了方法,其中有一步是:
修改程序的注册文件YourAppName_reg.rss:
#include <appinfo.rh>
#include <uikon.rh>
RESOURCE APP_REGISTRATION_INFO
{
//其他原有代码
opaque_data = r_startup_detect;
}
RESOURCE NUMBER_INT8 r_startup_detect
{value = 1;}

这里我想用字符串代替数字,于是我这样写:
RESOURCE APP_REGISTRATION_INFO
{
//其他原有代码
opaque_data = r_startup_detect;
}
RESOURCE TBUF r_startup_detect
{buf = "123";}

可是当我在appUi的ProcessCommandParametersL函数中发现
aCommandLine.OpaqueData().Length()的值为6,而不是3!!!
但是我获取这个值的时候发现为“1”!!!
我怀疑原有的123被改变成了1\02\03\0,这样我便无法与自定义的
“123”字符串比较了。

那位大牛能给小弟点建议,不胜感激!!!
...全文
2610 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengyuyang2011 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
Hi,

// 把TPtrC8指向的数据转成由TPtrC指向
TPtrC8 data8 = aCommandLine.OpaqueData();
TUint16* ptr = (TUint16*) data8.Ptr();
TInt len = data8.Length()/2;
TPtrC data(p, len);
// 现在你就能拿data跟常量串比了

Regards
……
[/Quote]
您好,我想进一步了解一下原因,至于我上面猜想的:123被改变成了1\02\03\0,这样说对吗?谢谢!
zhengyuyang2011 2012-04-09
  • 打赏
  • 举报
回复
我用了这种方法确实可以比较了。谢谢!
chenziteng 2012-03-31
  • 打赏
  • 举报
回复
Hi,

// 把TPtrC8指向的数据转成由TPtrC指向
TPtrC8 data8 = aCommandLine.OpaqueData();
TUint16* ptr = (TUint16*) data8.Ptr();
TInt len = data8.Length()/2;
TPtrC data(p, len);
// 现在你就能拿data跟常量串比了

Regards

Ziteng Chen

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧