小弟在做一个获得安装SIS文件的文件名,有的文件名是可以取得到文件名的,但是99%的其他文件名取不到。
以下贴出了代码,原理是,因为SIS文件是正在运行的,所以我只要检查有哪些文件在运行,然后看看后缀名是不是“.sis”的,如果是那就找不到,一直循环这么找,直到找到为止或者找完没有找到为止。
我参考了别人的代码,找文件名的过程差不多是一样的
http: //blog.csdn.net /sunlifesunlife /article /details /5976166
(系统说我没权限发链接。。。。。请把空格去掉即可)
RFs fs;
TInt err = fs.Connect();
User::LeaveIfError(err);
CleanupClosePushL(fs);
TFileName aFileName;
TOpenFileScan ofs(fs);
TBool done = EFalse;
_LIT(KExtSis, ".sis");
while(!done)
{
CFileList* fl = NULL;
ofs.NextL(fl);
if (fl==NULL)
{
Log(_L("can't find sisName"));
done = ETrue;
}
else
{
CleanupStack::PushL(fl);
TInt count = fl->Count();
for (TInt i= 0; (i<count)&&(!done); i++)
{
TEntry entry = (*fl)[i];
TParsePtrC parse(entry.iName);
Log(entry.iName);
if(parse.Ext()==KExtSis)
{
aFileName = entry.iName;
Log(aFileName);
done = ETrue;
}
}
CleanupStack::PopAndDestroy(fl);
}
}
我还把这些找到的文件名记录了下来,但是就是没有看到“.sis”后缀的或者文件和我取的文件名相同的,不明白是哪里不对,是不是找的方法不对,还是“.sis”只是一个安装文件,安装完之后运行的是其他名字的程序,所以找不到。请高手指点一下,谢谢了
如何获得安装SIS文件的文件名
还把这些找到的文件名记录了下来,但是就是没有看到“.sis”后缀的或者文件和我取的文件名相同的,不明白是哪里不对,是不是找的方法不对,还是“.sis”只是一个安装文件
责任编辑:冰凝儿