Symbian 获取安装应用的大小

imasmallbird 2012-02-29 04:16:43
项目中需要获取到安装后的应用程序的exe文件的大小,不知道哪位大牛能提供一下具体的方法

我使用的下面代码,但是读取不了。。。

TFileName appPath; //应用程序路径
appPath.Copy(RProcess().FileName());
Fs& fs = CEikonEnv::Static()->Static()->FsSession();
TEntry entry;
TInt err = fs.Entry(appPath, entry);
if (err == KErrNone)
return entry.iSize;
else
return 0;
...全文
2689 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenziteng 2012-03-31
  • 打赏
  • 举报
回复
Hi,

估计你是在用Symbian OS v9的手机上跑这个程序吧。平台安全要求所有exe文件安装到受保护的目录/sys/bin,普通应用程序访问不了这个目录(下的文件)。

一个变通的方法是查一下exe加载到内存里的大小,这样算出来大致跟exe文件的大小相当吧:

RProcess process = RProcess();
TModuleMemoryInfo meminfo={0};
process.GetMemoryInfo(meminfo);
process.Close();
TUint32 size = meminfo.iCodeSize + meminfo.iConstDataSize + meminfo.iInitialisedDataSize + meminfo.iUninitialisedDataSize;

Regards

Ziteng Chen

3,120

社区成员

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

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