如何通过程序设定是否开机自启动

简介: 主要有两个步骤:1,使用Startup List Management API实现开机自启动2,重载AppUI中的ProcessCommandParametersL()函数确定是否关闭(自启动后关闭==不启动)1.1 在data目录下创建一个boot resource file,名字为XXXX.rss, 其中XXXX为UID3。
主要有两个步骤:
1,使用Startup List Management API实现开机自启动
2,重载AppUI中的ProcessCommandParametersL()函数确定是否关闭(自启动后关闭==不启动)

1.1 在data目录下创建一个boot resource file,名字为XXXX.rss, 其中XXXX为UID3。
#include <startupitem.rh>
RESOURCE STARTUP_ITEM_INFO startexe
{
    executable_name = 
[url=file://sys//bin//programToStart.exe] //sys//bin//programToStart.exe[/url] ; //换成你程序名字
    recovery = EStartupItemExPolicyNone;
}
1.2更新你的MMP文件
SOURCEPATH      ../data
START RESOURCE XXXX.rss
END
1.3更新你的PKG文件,
中括号不要丢了!
“/epoc32/data/yyyy.rsc”- “c:/private/101f875a/import/[yyyy.rsc”
有以下几点限制:必须装在c盘,必须用开发者证书。

 如果一切顺利,程序可以自己随着手机开机而自己启动了,但是如何让用户可以在程序中设置让程序不要随机启动呢?
2.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.2 重载AppUI中的ProcessCommandParametersL()函数
Bool CMyAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
{
  if(aCommandLine.OpaqueData().Length() > 0)
  {
      // 用户手动启动,存在OpaqueData
  }
  else
  {
      // 程序自动启动,存在OpaqueData。
      // 可以在这里判断是否设置为不自动启动, 调用Exit()函数退出
  }
   return CEikAppUi::ProcessCommandParametersL( aCommandLine );
}
目录
相关文章
|
5月前
|
关系型数据库 MySQL 分布式数据库
你的业务库,可能就是最好的向量数据库
PolarDB MySQL版推出PolarVector,原生集成向量检索能力,无需同步数据、不新增运维体系。支持HNSW/IVF索引、多距离度量与智能过滤,兼容MySQL和OpenSearch双协议,具备ACID事务、低延迟(P95<5ms)、高召回率(>99%)等特性,适用于RAG、推荐、多模态搜索等AI场景。
439 1
你的业务库,可能就是最好的向量数据库
|
6月前
|
人工智能 供应链 安全
《卓伊凡 · 网络安全研究室》之 从网络安全角度看:为什么“养虾”其实是一种极其危险的行为
《卓伊凡·网络安全研究室》警示:“养虾”实为高危行为——本质是让外部AI代理程序以root权限长期驻留、联网、调用系统资源,极易沦为“肉鸡”节点。技术底层、攻防视角与供应链风险三重叠加,普通人缺乏安全认知,盲目跟风等于主动交出设备控制权。(239字)
321 10
|
存储 安全 Linux
如何跳过格式化打开U盘?别急着点“确定”,文件还有救!
U盘插入电脑提示“需要格式化”并不等于数据丢失,往往是文件系统损坏或识别异常所致。本文解析常见原因,并提供实用解决方案:在确保不误删的前提下,通过专业工具恢复数据,避免直接格式化造成二次损害。同时指导用户如何判断是否可修复、操作顺序及后续使用建议,助你科学应对U盘故障,保障数据安全。
|
10月前
|
Web App开发 缓存 安全
如何在谷歌Chrome浏览器加载Activex控件?
ActiveX控件是微软开发的一系列策略性面向对象程序技术和工具,能实现网页与本地系统的深度交互。IE流行的互联网早期,大量的ActiveX控件被应用于各种场景,学校,银行,企业官网等,但其核心局限在于严重依赖Windows和IE浏览器,存在巨大的安全风险,随着浏览器安全升级,最新版浏览器已经都不支持Activex/OCX控件,但是大量企业面临历史业务无法升级,只能用IE浏览器继续苟延残喘,如何在新版谷歌Chrome上加载IE的Activex/OCX控件成为一个难题。
524 0
|
安全 Linux 开发者
Debian GNU/Linux
Debian是Linux发行版之一,其起源可以追溯到1993年,由Ian Murdock创立。Debian的名字来源于其创始人Ian Murdock的女友的名字Deb和Linux的创始人Linus Torvalds的名字的组合,即“Deb”+“ian”。Debian的目标是创建一个自由、开放、安全、稳定的操作系统,为用户提供丰富的软件资源和良好的使用体验。 特点
667 8
Debian GNU/Linux
网页编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕
在日常办公环境场景下,有时候会遇到帮助他人修改文档或者为文档提供修改意见,如果我们在文档中直接修改,其他人很不容易看到我们修改了哪个部分,如果一旦你的修改意见不被采纳,原作者还需要恢复原来的文档,这样为别人带来了更多的工作。 如果用猿大师办公助手在网页中编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕,就可以很好的来解决此问题。
1060 123
|
机器学习/深度学习 人工智能 自然语言处理
结合DeepSeek-R1强化学习方法的视觉模型!VLM-R1:输入描述就能精确定位图像目标
VLM-R1 是基于强化学习技术的视觉语言模型,通过自然语言指令精确定位图像目标,支持复杂场景推理与高效训练。
1259 0
|
机器学习/深度学习 人工智能 并行计算
【AI系统】AI轻量化与并行策略
本文探讨了AI计算模式对芯片设计的重要性,重点介绍了轻量化网络模型和大模型分布式并行两大主题。轻量化模型旨在减少参数量和计算量,适合资源受限的设备;大模型分布式并行则针对高性能计算需求,通过数据并行、模型并行等技术提高训练效率。文中详细解析了轻量化设计的方法及分布式并行的实现机制,为AI芯片设计提供了理论依据和技术指导。
841 2
|
机器学习/深度学习 数据采集 人工智能
深度学习之稳健的模型推理与不确定性建模
基于深度学习的稳健模型推理与不确定性建模,是现代AI系统中至关重要的研究方向。随着深度学习在各类应用中的成功,如何保证模型在面对未知或不确定性输入时仍能做出稳健的推理,并能够量化这种不确定性,成为关键问题。稳健性与不确定性建模可以提高模型的安全性、可靠性,尤其在自动驾驶、医疗诊断等高风险领域。
957 0
|
机器学习/深度学习 JavaScript 前端开发
机器学习模型部署:使用Python和Vue搭建用户友好的预测界面
【4月更文挑战第10天】本文介绍了如何使用Python和Vue.js构建机器学习模型预测界面。Python作为机器学习的首选语言,结合Vue.js的前端框架,能有效部署模型并提供直观的预测服务。步骤包括:1) 使用Python训练模型并保存;2) 创建Python后端应用提供API接口;3) 利用Vue CLI构建前端项目;4) 设计Vue组件实现用户界面;5) 前后端交互通过HTTP请求;6) 优化用户体验;7) 全面测试并部署。这种技术组合为机器学习模型的实用化提供了高效解决方案,未来有望更加智能和个性化。
1885 1