如何运行app和exe程序

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

}

----------------------------------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航