在3版中實現並動態配置開機自啓動

在3版中實現並動態配置開機自啓動
From Forum Nokia Wiki
適用版本:app

Serire 60 3rd Edition具體方案:在3版中使用了新的Startup List Management API實現開機自啓動。須要應用程序實現開機自動啓動,須要完成如下步驟: 1. 在項目的data目錄下建立一個資源文件,名字爲0xXXXXXX.rss, 0xXXXXXX爲須要啓動的程序的UID3。在資源文件中填入如下內容:函數

#include <startupitem.rh>
 RESOURCE STARTUP_ITEM_INFO startexe
 {
   executable_name = "\\sys\\bin\\YourAppName.exe"; //換成你程序名字
   recovery = EStartupItemExPolicyNone;
 }2. 在你的項目文件.mmp中加入該資源文件ui

SOURCEPATH      ..\data
 START RESOURCE 0xXXXXXX.rss
 END3.更新你的打包PKG文件,注意,該資源文件只能安裝在C盤,不要忘記中括號:.net

「\epoc32\data\0xXXXXXX.rsc」- 「c:\private\101f875a\import\[XXXXXX].rsc」這樣你的程序通過從新編譯和打包,使用開發者證書籤名之後就能夠實現開機自啓動了。blog

若是你但願在根據設置配置程序是否開機自啓動,你還須要完成一下步驟: 1. 修改程序的註冊資源文件YourAppName_reg.rss,添加以下代碼資源

#include <appinfo.rh>
 #include <uikon.rh>  
 RESOURCE APP_REGISTRATION_INFO
 {
 //原來的代碼
 opaque_data = r_startup_detect;
 }     
 RESOURCE NUMBER_INT8 r_startup_detect
 {value = 1;}2 重載AppUi中的ProcessCommandParametersL()函數開發

Bool CYourAppNameAppUi::ProcessCommandParametersL( CApaCommandLine       &aCommandLine )
 {
 if(aCommandLine.OpaqueData().Length() > 0)
 {
     // 此處爲用戶手動啓動
 }
 else
 {
     // 此處爲程序開機後自動啓動,若是設置爲開機不自動啓動, 在此處調用Exit()函數退出。
 }
  return CEikAppUi::ProcessCommandParametersL( aCommandLine );
 }get

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lifesounds/archive/2009/08/25/4481684.aspx博客

相關文章
相關標籤/搜索