• 在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 );
     }
    
  • 相关阅读:
    如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
    CentOS 6.5静态IP的设置(NAT和桥接都适用)
    myeclipse里如何添加mysql数据库
    Attribute value is quoted with " which must be escaped when used within the value 问题解决
    CentOS 6.5安装之后的网络配置
    Apache server for win解压版的安装与配置
    Oracle SQL 基本操作之 用户权限管理方法
    CentOS 6.5的安装详解
    IO类01
    可见性的问题
  • 原文地址:https://www.cnblogs.com/zziss/p/1803970.html
Copyright © 2020-2023  润新知