欢迎来到天天文库
浏览记录
ID:59252729
大小:10.49 KB
页数:6页
时间:2020-09-08
《S60实现带参数启动进程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.通过一个命令行参数实现带参数启动应用程序: //*启动代码,在需要启动一个程序时使用*///[1]定义命令行参数CApaCommandLine*cmd=CApaCommandLine::NewLC();//[2]设置命令类型cmd->SetCommandL(EApaCommandRun);//[3]设置要启动的应用程序名cmd->SetExecutableNameL(_L("HelloWorld.exe"));//[4]设置参数,该参数为一个文件名称cmd->SetDocumentNameL(_L("x
2、.txt"));//[5]设置参数,该参数为一个字符串cmd->SetTailEndL(_L8("messagetail")); //[6]启动程序 RApaLsSessionals; User::LeaveIfError(als.Connect()); CleanupClosePushL(als); User::LeaveIfError(als.StartApp(*cmd));CleanupStack::PopAndDestroy(2); //*在被启动的应用程序中接收参数*///该功能通
3、过在AppUik中重载CEikAppUi::ProcessCommandParametersL方法实现。 TBoolCHello2AppUi::ProcessCommandParametersL(TApaCommandaCommand,TFileName&aDocumentName,constTDesC8&aTail){ //接收启动代码中第[4]行参数 TFileNamefile=aDocumentName;//接收启动代码中第[2]行参数 TApaCommandcom=aCommand;//接收启动代码中
4、第[5]行参数 HBufC8*str=aTail.AllocL(); deletestr;} 2.通过StartDocument实现带参数启动应用程序: //*启动代码,在需要启动一个程序时使用*/RApaLsSessionals; TThreadIdid;TUiduid; //被启动程序UID uid.iUid=0xEF; als.Connect(); als.StartDocument(_L("hello2.txt"),uid,id);als.Close();
5、 被启动程序参数接收参考实例1中的参数接收。 3.通过RProcess实现带参数启动应用程序: //*启动代码,在需要启动一个程序时使用*/ RProcess*process=newRProcess(); TUidTypeuidtype(KNullUid); process->Create(_L("\sys\bin\HelloWorld.exe"),_L("teststring"),uidtype); process->Resume(); process->Close();deleteproc
6、ess; //*在被启动的应用程序中接收参数*/ RBuf16buf; buf.Create(50); User::CommandLine(buf);//buf=”teststring” buf.Close(); 4.通过TFindProcess实现查找一个启动的应用程序: //要查找的进程名称_LIT(KPROCESSNAME,"Hello2_0xEF*"); //构造进程搜索对象TFindProcessfindProcess(KPROCESSNAME)
7、;TFullNameprocessName;//开始搜索应用程序,通过processName返回结果 findProcess.Next(processName); if(processName==KNullDesC) { //查找的应用程序未启动 }5.向一个启动的应用程序发送消息: TUiduidApp=TUid::Uid(0xEF); TApaTaskListtaskList(CEikonEnv::Static
8、()->WsSession()); TApaTasktask=taskList.FindApp(uidApp); TBuf<256>arg; arg.Append(_L("mytext")); HBufC8*pBuf; if(task.Exists()) { //sendmessa
此文档下载收益归作者所有