如何獲得安裝SIS文件的文件名
小弟在做一個(gè)獲得安裝SIS文件的文件名,有的文件名是可以取得到文件名的,但是99%的其他文件名取不到。
以下貼出了代碼,原理是,因?yàn)镾IS文件是正在運(yùn)行的,所以我只要檢查有哪些文件在運(yùn)行,然后看看后綴名是不是“.sis”的,如果是那就找不到,一直循環(huán)這么找,直到找到為止或者找完沒(méi)有找到為止。
我參考了別人的代碼,找文件名的過(guò)程差不多是一樣的
http: //blog.csdn.net /sunlifesunlife /article /details /5976166
(系統(tǒng)說(shuō)我沒(méi)權(quán)限發(fā)鏈接。。。。。請(qǐng)把空格去掉即可)
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);
}
}
我還把這些找到的文件名記錄了下來(lái),但是就是沒(méi)有看到“.sis”后綴的或者文件和我取的文件名相同的,不明白是哪里不對(duì),是不是找的方法不對(duì),還是“.sis”只是一個(gè)安裝文件,安裝完之后運(yùn)行的是其他名字的程序,所以找不到。請(qǐng)高手指點(diǎn)一下,謝謝了