void CFileExecuter::OpenFileByDefault(TFileName aFileName) { if (::FileIsExist(aFileName)==1) { iFileName.Zero (); iFileName.Append(aFileName); TInt i = aFileName.LocateReverseF('.'); if(i<0) { iMainEngine.ControlFactory().CreateTipDialog(iMainEngine.GetDesById(ETurkeyTextRes_FileTypeNotSupport),*this,0); return; } TFileName nFileExt = aFileName.Right( aFileName.Length() - i - 1 ); nFileExt.ZeroTerminate(); iMainEngine.WriteLog16(nFileExt); TFileName nAssociatedApp; TBool nIsFindApp = GetAssociatedApp( nFileExt, nAssociatedApp ); if ( nIsFindApp == true) { if (nAssociatedApp.Find(KDefaultAppPath)!=KErrNotFound) { OpenFileBySystemDefaultL(aFileName); } else if ( nAssociatedApp.FindF( KCoCoAppPath )!=KErrNotFound) { //使用内部模块打开 OpenFileByInternal(aFileName); } else { OpenFileByApp(nAssociatedApp,aFileName); } } else { //如果没有默认的打开方式 TInt nType=ParseExPathNum(aFileName); #ifdef __SERIES60_3X__ if(nType==0 || nType==1 || nType==2 || nType==3) #else if(nType==0 || nType==1 || nType==2 || nType==3 || nType==4) #endif { //使用内部模块打开 OpenFileByInternal(aFileName); } else { //采用系统默认方式打开 OpenFileBySystemDefaultL(aFileName); } } } else { //提示用户文件不存在 iMainEngine.ControlFactory().CreateTipDialog(iMainEngine.GetDesById(ETurkeyTextRes_FileNotExist),*this,0); } }