首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

Symbian中剔除指定文件夹

2012-09-27 
Symbian中删除指定文件夹由于之前公司的一款Symbian软件在卸载时会有一部分在软件使用过程中生成的文件不

Symbian中删除指定文件夹
由于之前公司的一款Symbian软件在卸载时会有一部分在软件使用过程中生成的文件不能删除,因此我为此程序单独编写了一个.exe程序用来专门删除那些软件使用中生成的文件

实现删除功能的代码如下:

LOCAL_C void MainL()
    {
_LIT(KTestDir,"c:\\System\\Apps\\MSGManager\\smstable.db");
RFs fsSession;
fsSession.Connect();
CFileMan* fileManager = CFileMan::NewL(fsSession);
TInt errorr = fileManager->RmDir(KTestDir);
delete fileManager;
fsSession.Close();
    }

一开始考虑用RFs的RmDir,但是这个方法只能删除空文件夹;网上搜索了相关问题,后来改用CFileMain的RmDir方法证明是可以的

由于一开始只是想单独测试.exe是否可用,这样的话就必须让打包好的sis文件在安装时就运行,我是这样实现的:
在pkg文件中"C:\apps\Symbian\S60_3rd_MR\Epoc32\release\gcce\UREL\DeleteFile.exe"-"c:\sys\bin\DeleteFile.exe",FR,RI
注意蓝色部分,加上“FR,FI”的作用就是安装时运行

当然一切都测试没问题后就要把这个.exe一起打包到主程序中,我要实现的是在卸载该软件时调用这个.exe,这时pkg文件还要进行一下简单的修改
"C:\apps\Symbian\S60_3rd_MR\Epoc32\release\gcce\UREL\DeleteFile.exe"-"c:\sys\bin\DeleteFile.exe",FR,RR
没错还是改的蓝色部分

然后打包测试,万事大吉,呵呵

热点排行