// ----------------------------------------------------------------------------- // CSisxUISilentHandler::BringToForeground // Swithces application to foreground or background. Used when user confirmation // dialog is used dialog is used in silent installation // ----------------------------------------------------------------------------- // void CSisxUISilentHandler::BringToForeground( TBool aForeground ) { RWsSession ws; if ( ws.Connect() == KErrNone ) { CleanupClosePushL(ws); TApaTaskList tasklist(ws); if ( aForeground ) { TApaTask task = tasklist.FindApp( TUid::Uid(KSWInstSvrUid) ); if ( task.Exists() ) { task.BringToForeground(); } } else { TApaTask task = tasklist.FindApp( TUid::Uid(KSWInstSvrUid) ); if ( task.Exists() ) { task.SendToBackground(); } } CleanupStack::PopAndDestroy(); //ws } }
void Model::MoveToBackground() { RWsSession& wsSession = CEikonEnv::Static()->WsSession(); TUid uid; uid.iUid = APPUID; TApaTaskList list (wsSession); TApaTask ap = list.FindApp(uid); if(ap.Exists()) ap.SendToBackground(); }
void CScummVMUi::ConstructL() { BaseConstructL(); TBuf<128> startFile; startFile = iEikonEnv->EikAppUi()->Application()->AppFullName(); TParse parser; parser.Set(startFile,NULL,NULL); startFile = parser.DriveAndPath(); #ifndef __WINS__ startFile.Append( _L("ScummVM.exe")); #else startFile.Append( _L("ScummVM.dll")); #endif CApaCommandLine *cmdLine = CApaCommandLine::NewLC(startFile); RApaLsSession lsSession; lsSession.Connect(); CleanupClosePushL(lsSession); lsSession.StartApp(*cmdLine, iThreadId); CleanupStack::PopAndDestroy();//close lsSession CleanupStack::PopAndDestroy(cmdLine); User::After(500000);// Let the application start TApaTaskList taskList(iEikonEnv->WsSession()); TApaTask myTask = taskList.FindApp(TUid::Uid(0x101f9b57)); myTask.SendToBackground(); TApaTask exeTask = taskList.FindByPos(0); iExeWgId=exeTask.WgId(); exeTask.BringToForeground(); if(iExeWgId == myTask.WgId()) { // Should n't be the same Exit(); } if(iThreadWatch.Open(iThreadId) == KErrNone) { iWatcher = new (ELeave)CScummWatcher; iWatcher->iAppUi = this; iThreadWatch.Logon(iWatcher->iStatus); } }