Symbian c++ 在3版中實現並動態配置開機自啟動

來源:互聯網
上載者:User

適用版本:

Serire 60 3rd Edition

具體方案: 在3版中使用了新的Startup List Management API實現開機自啟動。需要應用程式實現開機自動啟動,需要完成以下步驟: 1. 在項目的data目錄下建立一個資源檔,名字為XXXXXX.rss, XXXXXX為需要啟動的程式的UID3,比如:EA4AB17C。 在資源檔中填入以下內容:

 #include <startupitem.rh> RESOURCE STARTUP_ITEM_INFO startexe {   executable_name = "\\sys\\bin\\YourAppName.exe"; //換成你程式名字   recovery = EStartupItemExPolicyNone; }

2. 在你的專案檔.mmp中加入該資源檔

 SOURCEPATH      ..\data START RESOURCE XXXXXX.rss END

3.更新你的打包PKG檔案,注意,該資源檔只能安裝在C盤,不要忘記中括弧:

 “\epoc32\data\XXXXXX.rsc”- “c:\private\101f875a\import\[XXXXXX].rsc”

這樣你的程式經過重新編譯和打包,使用開發人員認證簽名以後就可以實現開機自啟動了。

如果你希望在根據設定配置程式是否開機自啟動,你還需要完成一下步驟: 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 ); }

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.