zoukankan      html  css  js  c++  java
  • 在3版中实现并动态配置开机自启动

    From Forum Nokia Wiki

    适用版本:

    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中加入该资源文件

     SOURCEPATH      ..\data
     START RESOURCE 0xXXXXXX.rss
     END
    

    3.更新你的打包PKG文件,注意,该资源文件只能安装在C盘,不要忘记中括号:

     “\epoc32\data\0xXXXXXX.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 );
     }
    
  • 相关阅读:
    codevs2034 01串2
    codevs2622数字序列( 连续子序列最大和O(n)算法)
    codevs3008加工生产调度(Johnson算法)
    codevs1955光纤通信(并查集)
    codevs4203山区建小学
    codevs2618核电站问题
    常用端口
    ntp时间同步服务器
    date linux系统校正时间
    用户切换
  • 原文地址:https://www.cnblogs.com/zziss/p/1803970.html
Copyright © 2011-2022 走看看