您的位置:首页 > 其它

程序开机自启动

2009-12-16 14:24 267 查看
安装完成之后自启动:

首先看看自启动如何处理,自启动处理方法很简单。只需要处理一个PKG文件就行了。

看PKG文件内容:

"/Symbian/9.1/S60_3rd_MR/Epoc32/release/GCCE/UREL/TestStart.exe"

-"!:/sys/bin/TestStart.exe", FR, RI//这里只需要添加FR,RI标识符就可以安装完后自启动了

在这里需要注意:

EXE文件应该放在PKG里所有资源的最后。因为EXE安装完成后,可能需要用到前面的资源。

随机自启动:

第一步:写一个RSS文件,就用自己的那个UID3作为文件名即可,放在data目录下面,内容如下:

#include <startupitem.rh>

RESOURCE STARTUP_ITEM_INFO startexe

{

executable_name = "!://sys//bin//TestStart.exe";

recovery = EStartupItemExPolicyNone;

}

第二步:修改MMP,加一个资源如下:

SOURCEPATH ../data

START RESOURCE UID3.rss

HEADER

TARGETPATH /resource/apps

END

第三步:再改一下那个PKG文件吧,如下:

$(EPOCROOT)Epoc32/data/z/resource/apps/UID3.rsc"-"c:/private/101f875a/import/[200XXX].rsc"

注意:

1. 开机自启动必须使用 0x2 打头的保护范围uid.

2 另外注意:

"C:/Symbian/9.2/S60_3rd_FP1/Epoc32/Data/UID3.rsc" -"c:/private/101f875a/import/[2000XXXX].rsc"
3 资源文件打包时必须用[]括号,里面是去掉0x的UID3.
这个rsc一定要装到c盘,装到E盘是无法自启动的。
4 要是多个exe打包安装的时候,pkg的UID必须和自启动的UID一样

如果exe启动后大约5秒内退出,那么会显示一条提示:Unable to start <name of EXE>. Application may need to be removed.

有些关于启动列表的问题及解决方案,可以参考Forum Nokia Technical Library搜索"Startup List"查看最新更新

Startup List Management API不会在自签名程序下工作 你需要有SymbianSign认证,取得相关的能力。

要启动exe和相关资源由pkg直接指明安装,不要通过内嵌sis文件

http://wiki.forum.nokia.com/index.php/如何利用启动列表管理API让第三版手机启动时自动启动某程序

如果你希望在根据设置配置程序是否开机自启动,你还需要完成一下步骤: 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 );
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: