如何運行app和exe程序

Symbian有2種類型的本地程序:
APP是有GUI的程序,因此能夠被終端用戶使用
EXE通常是服務端或命令行程序,通常隱蔽的運行。沒有GUI,不能直接從主菜單運行

運行指南

如果你是一個終端用戶想運行APP:它會在你的電話菜單中列出如果它已經安裝

當一個EXE程序在主菜單不可見時不能直接運行EXE程序。試着從INBOX運行它(如果你通過紅外或藍牙下載過它,它可能存儲在INBOX裏)會導致一個安全錯誤。首先,你需要安裝一個文件管理器(比如FileMan或FExplorer),瀏覽它存儲的位置(在我的3650上INBOX的目錄在E:/system/Mail/xxx),然後運行它。

運行程序
當你知道運行APP或EXE程序使用哪個API後是非常簡單的事。

運行EXE程序:
#include
...
_LIT(KMyAppName, "c://system//Apps//MyApp//MyApp.exe");
EikDll::StartExeL(KMyAppName);

下面的代碼運行APP比較複雜但允許執行特定的文檔
#include
#include
...
_LIT(KMyAppName, "c://system//Apps//MyApp//MyApp.app");
_LIT(KMyDocName, "c://Documents//MyApp.dat");

CApaCommandLine * cmd=CApaCommandLine::NewL();
cmd->SetLibraryNameL(KMyAppName);
cmd->SetDocumentNameL(KMyDocName);
cmd->SetCommandL(EApaCommandRun);
EikDll::StartAppL(*cmd);

運行瀏覽其他的NOKIA程序
如果你打算開始基於Series 60的ROM 程序,在NOKIA論壇查找關於外部程序查看文檔的問答可以給你帶來收穫

下面的代碼將開始瀏覽特定的頁:
#include // apgrfx.lib

void NNewLCUtils::StartBrowser(const TDesC& aUrl)
{
HBufC* param = HBufC::NewLC( 256 );
param->Des().Format( _L( "4 %S" ),&aUrl );

// Wap Browser's constants UId
const TInt KWmlBrowserUid = 0x10008D39;
TUid id( TUid::Uid( KWmlBrowserUid ) );

TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
TApaTask task = taskList.FindApp( id );
if ( task.Exists() )
{
HBufC8* param8 = HBufC8::NewLC( param->Length() );
param8->Des().Append( *param );
task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used
CleanupStack::PopAndDestroy(); // param8
}
else
{
RApaLsSession appArcSession;
User::LeaveIfError(appArcSession.Connect()); // connect to AppArc server
TThreadId id;
appArcSession.StartDocument( *param, TUid::Uid( KWmlBrowserUid ), id );
appArcSession.Close();
}
CleanupStack::PopAndDestroy(); // param
}

----------------------------------------
發佈了55 篇原創文章 · 獲贊 3 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章