程序开机自启动

在symbian系统中实现程序自启动有两种方法
 
(1) 通过资源文件来注册
适用范围:S60 3rd, 5th
推荐
 
假设你的自启动应用程序的UID3为: ef37946b
 

1.1 在data下新建一个rss文件,取名为 [ ef37946b].rss (必须要加上[]),并且只能将这个rss生成的rsc文件打包进自启动程序的sis文件来进行安装才会使本程序自启动成功。
写入如下内容:
 
#include <startupitem.rh>

RESOURCE STARTUP_ITEM_INFO auto_startup_info
    {
    executable_name = "!://sys//bin//MyAutoStart.exe";
    recovery = EStartupItemExPolicyNone;
    }
// 此处的MyAutoStart.exe是你的应用程序文件名。
 

1.2 在mmp文件中增加以下代码
 
SOURCEPATH  ../data
START RESOURCE [ef37946b].rss /* 此mmp文件所编译的可执行程序的UID3必须也为ef37946b,否则自启动不会成功。*/
 TARGETPATH    /private/101f875a/import  // 生成的rsc文件名必须要是 "[FFFFFF].rxx"格式
 HEADER
END

//请确保mmp中拥有 ReadUserData 能力,注意" /private/101f875a/import"不能够被更改。
 

1.3 在pkg文件中增加以下代码
"$(EPOCROOT)epoc32/data/z/private/101f875a/import[ef37946b].rsc" - "C:/private/101f875a/startup/[ef37946b].rsc"
  和
"$(EPOCROOT)epoc32/data/z/private/101f875a/import[ef37946b].rsc" - "C:/private/101f875a/import/[ef37946b].rsc"
注意,这里的rsc文件必须拷贝到C盘下,否则自启动会失败。

如果是采用Carbide.c++编译,那么你可以使用上述代码,如果是使用makesis命令行打包或者使用.Net编译,那么你需要修改成绝对路径,路径名视你的安装目录而定。
例如:
"C:/Symbian/9.1/S60_3rd_MR/Epoc32/Data/z/private/101f875a/import[ef37946b].rsc" - "C:/private/101f875a/import/[ef37946a].rsc"
 
 


 
(2) MDL
适用范围:S60 2nd
不推荐

1) 危险系数高
在S60 2nd中,系统启动时会先启动核心,紧接着核心会扫描Recognizer文件(mdl)并启动它们,如果mdl文件有错,那么系统就无法启动,而用户也没有机会删除错误的mdl文件,需要联系客服返修甚至换主板。
2) 适用范围窄
在S60 3rd及以后版本中,Recognizer文件并不会在系统启动时被扫描和启动了,而是当用户打开某个文件时才会启动Recognizer文件。
并且在S60 3rd及以后版本中Recognizer构架也发生了变化,必须通过ECOM架构来实现Recognizer。所以mdl实现开机自启动只能在S60 2nd版本上有效。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以通过在Linux系统中使用systemd服务来实现Python程序开机自启动。具体步骤如下: 1. 创建一个新的systemd服务文件,例如:my_python_program.service。 2. 在该文件中添加以下代码: ``` [Unit] Description=My Python Program After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/python /path/to/your/python/program.py Restart=on-abort [Install] WantedBy=multi-user.target ``` 其中,Description表示服务的描述信息,ExecStart指定Python程序的路径和名称,Restart表示服务在异常退出时是否自动重启。 3. 将my_python_program.service文件保存到/etc/systemd/system/目录下。 4. 启动该服务并设置为开机自启动: ``` sudo systemctl start my_python_program.service sudo systemctl enable my_python_program.service ``` 5. 重启系统,验证Python程序是否已经自启动。 注意,以上步骤中的路径和文件名需要根据实际情况进行修改。 ### 回答2: 要实现Python程序开机自启动,可以按照以下步骤进行操作: 1. 创建一个用于启动Python程序的脚本或代码文件。 2. 将该脚本或代码文件复制到系统的启动目录中。 具体操作步骤如下: 1. 创建一个名为"startup.py"的Python脚本或代码文件,并确保该文件可以在系统上运行。 2. 打开文件资源管理器,并定位到系统的启动目录。在Windows系统中,启动目录通常位于"C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup",其中"<用户名>"是当前登录用户的用户名。 3. 将"startup.py"文件复制到启动目录中。 这样,每次系统开机时,系统会自动运行启动目录中的所有项目,包括"startup.py"文件。因此,Python程序会随着系统的启动自动运行。 需要注意的是,不同操作系统的开机自启动方法可能有所不同。上述步骤适用于Windows系统,但在其他操作系统上可能需要采取不同的方法来实现Python程序开机自启动。 ### 回答3: 要使Python程序能够开机自启动,需要在操作系统中进行一些设置。 在Windows操作系统中,可以通过以下步骤实现Python程序开机自启动: 1. 首先,将Python程序保存为一个独立的.py文件,例如"my_program.py"。 2. 打开"开始"菜单,输入"运行"并回车,在弹出的对话框中输入"shell:startup"并点击"确定"按钮。这将打开Windows启动文件夹。 3. 将在第一步中创建的.py文件拖拽到启动文件夹中。 4. 重新启动计算机,Python程序将会在系统启动自动运行。 在Linux操作系统中,可以通过以下步骤实现Python程序开机自启动: 1. 使用文本编辑器打开/etc/rc.local文件,例如在终端中输入"sudo nano /etc/rc.local"。 2. 在文件的"exit 0"行之前,添加以下内容: "python /path/to/your_program.py &",其中"/path/to/your_program.py"是你的Python程序的文件路径。 3. 保存文件并关闭编辑器。 4. 重新启动计算机,Python程序将会在系统启动自动运行。 需要注意的是,以上的方法只适用于以桌面环境启动的系统,对于以命令行启动的服务器系统可能需要使用其他方法来实现Python程序开机自启动。另外,为了确保程序的正常运行,可能还需要在程序中添加一些延迟或者其他处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值