Symbian 内嵌SIS自启动(inline sis autostart)
来源:互联网 发布:http post数据 编辑:程序博客网 时间:2024/05/02 20:06
总结一下内嵌SIS自启动的问题。
一般程序开机自启动,大家把自己的程序用rss的方法做成自启动。但是内嵌到另外一个SIS包中
发现安装完成后,重启手机内嵌SIS不能自启动。可悲的事我居然惊奇的发现魔秀的动态主题用
RSS打包是可以完成自启动的。为什么我的就不行呢?难道是人品问题。
先来看看如何打内嵌SIS吧。
以下就是内嵌SIS的在PKG中的语法
If
一般程序开机自启动,大家把自己的程序用rss的方法做成自启动。但是内嵌到另外一个SIS包中
发现安装完成后,重启手机内嵌SIS不能自启动。可悲的事我居然惊奇的发现魔秀的动态主题用
RSS打包是可以完成自启动的。为什么我的就不行呢?难道是人品问题。
先来看看如何打内嵌SIS吧。
以下就是内嵌SIS的在PKG中的语法
If
NOT PACKAGE(0xUID)//先判断自己的SIS包安装没有
@"E:/Symbian3rd_MR/yourApp/sis/yourApp.sis", (0xUID)
EndIf
哎时间不等人,只能另寻它法来解决此问题了。
创建自己的PLUGIN DLL,用DLL把自己的EXE调起来。
下面看如何实现。
TInt CStart****Recog::StartAppThreadFunction(TAny* )
{
User::After(5000000);//等待五S,等系统启动完成
// create a TRAP cleanup
CTrapCleanup * cleanup = CTrapCleanup::New();
TInt err;
if( cleanup == NULL )
{
err = KErrNoMemory;
}
else
{
TRAP( err, StartAppThreadFunctionL() );
}
delete cleanup;
if (err!=KErrNone)
User::Panic(_L("autostart"), err);
return err;
}
bool CStart****Recog::IsProcessRunning()
{
bool Ret = false;
TBuf8<128> aaaa;
TFileName res;
TFindProcess find(_L("*"));
while(find.Next(res) == KErrNone)
{
RProcess ph;
ph.Open(res);
if(ph.SecureId() == 0x2002397F)// SID of the process we are looking for
{
Ret = true;
ph.Close();
break;
}
ph.Close();
}
return Ret;
}
void CStart****Recog::StartAppThreadFunctionL()
{
if (IsProcessRunning()) {
return;
}
//在这里可以调起自己的EXE
TFileName fnAppPath = _L("//sys//bin//yourself.exe");
RProcess server;
CleanupClosePushL(server);
User::LeaveIfError(server.Create(fnAppPath, _L("")));
server.Resume();
server.Close();
CleanupStack::PopAndDestroy();
}
以上代码在N73上已经测试通过
@"E:/Symbian3rd_MR/yourApp/sis/yourApp.sis", (0xUID)
EndIf
哎时间不等人,只能另寻它法来解决此问题了。
创建自己的PLUGIN DLL,用DLL把自己的EXE调起来。
下面看如何实现。
TInt CStart****Recog::StartAppThreadFunction(TAny* )
{
User::After(5000000);//等待五S,等系统启动完成
// create a TRAP cleanup
CTrapCleanup * cleanup = CTrapCleanup::New();
TInt err;
if( cleanup == NULL )
{
err = KErrNoMemory;
}
else
{
TRAP( err, StartAppThreadFunctionL() );
}
delete cleanup;
if (err!=KErrNone)
User::Panic(_L("autostart"), err);
return err;
}
bool CStart****Recog::IsProcessRunning()
{
bool Ret = false;
TBuf8<128> aaaa;
TFileName res;
TFindProcess find(_L("*"));
while(find.Next(res) == KErrNone)
{
RProcess ph;
ph.Open(res);
if(ph.SecureId() == 0x2002397F)// SID of the process we are looking for
{
Ret = true;
ph.Close();
break;
}
ph.Close();
}
return Ret;
}
void CStart****Recog::StartAppThreadFunctionL()
{
if (IsProcessRunning()) {
return;
}
//在这里可以调起自己的EXE
TFileName fnAppPath = _L("//sys//bin//yourself.exe");
RProcess server;
CleanupClosePushL(server);
User::LeaveIfError(server.Create(fnAppPath, _L("")));
server.Resume();
server.Close();
CleanupStack::PopAndDestroy();
}
以上代码在N73上已经测试通过
- Symbian 内嵌SIS自启动(inline sis autostart)
- 内嵌SIS自启动(inline sis autostart)
- 内嵌SIS自启动(inline sis autostart)
- Symbian自启动(AutoStart)
- Symbian自启动(AutoStart)
- SIS
- Symbian os制作sis文件
- 塞班、libc.lib、系统错误-1、KErrNotFound、内嵌sis、embedded sis
- Symbian (Backup sis on installing)安装时备份SIS
- 生成SIS,并自签名
- Symbian从环境配置到安装SIS
- Symbian 调用sis和exe项目
- Symbian OS v9.x SIS 文件格式说明书
- Symbian OS v9.x SIS 文件格式说明书
- Symbian OS v9.x SIS 文件格式说明书
- Symbian OS v9.x SIS 文件格式说明书
- symbian 第三版 如何用自签名证书给.Sis文件签名
- Symbian技巧-安装sisx或sis后实现应用程序的自动启动
- pku 匈牙利算法 1469 COURSES 解题报告
- SecureCRT和SecureFX 与 OpenSSH 公钥认证登陆
- Symbian不提示安装(Silence install)
- shell 基础
- 傲笑人生
- Symbian 内嵌SIS自启动(inline sis autostart)
- tcsh编程学习1
- URL美化技术
- Symbian按键监听(Monitor key console)
- Symbian程序隐藏(Program hide)
- 什么是NAT网关
- Symbian自启动(AutoStart)
- tcsh编程学习2
- 汇编语言求数组的长度_$的用法