Electron开发-引导app自启动(非管理员模式、管理员模式)
浏览:1347 次

参考官方文件:
1.打开注册表
1.1.启动注册表的写入位置:
未设置管理员权限时自动启动[存储在当前用户中]-可以调整开发/安装模式[官方推荐设置]
当设置了管理员模式时,系统会在机器开机时自动启动[存储在LocalMachine中]-您必须在调试前安装它!
设置管理员权限:通过配置包来更改electric builder的配置。在json中,requestedExecutionLevel达到管理员权限以打开app。修改后的app图标在右下角用多个盾牌标记。
1.2.打开注册表的方法
按键盘上的win+R,在运行窗口中输入“regedit”,然后按enter键进入注册表编辑器。
1.3.确认成功启动和自动启动设置的方法
按键盘上的win+R,在操作窗口中输入“msconfig”,然后单击系统配置中的启动项,以查看启动项的状态。
2.官方设置方法
存储在CurrentUser下,注册表位置:计算机HKEY_ CURRENT_ USER\Software\Microsoft\Windows\CurrentVersion\Run
配置主进程的启动方法:
//获取可执行文件的位置,例如:在打包程序之前,找到节点_Modules electron dist electron.exe。程序打包并安装后,将找到实际app的可执行文件。
const ex=进程执行路径;
//监控设置在启动后自动启动
ipcMain。句柄(“set-launch-with-windows”,(事件,参数)=>{
//打包app后,将可执行路径写入注册表。
如果(app.isPackaged){//app是否打包
日志info('是否自动启动机器:',args.launch_with_windows);

app。设置登录项设置({
openAtLogin:参数。使用窗口启动,
openAsHidden:false,
路径:例如,
参数:[“--openAsHidden”],
})
}
})
配置项目:
OpenAtLogin:Boolean(可选)-true在登录时启动app。
OpenAsHidden:Boolean(可选)macOS-true表示以隐藏方式启动app。默认值为false。
路径:字符串(可选)Windows-登录时启动的可执行文件,特别是打包的APP所在的exe文件的路径。
参数:字符串Windows-要传递给可执行文件的命令行参数。默认值为空数组。请注意,路径用引号括起来。
缺点:未设置管理员权限时,软件可以自动启动,设置管理员权限后,软件无法自动启动。
3.进入注册表进行手动控制
问题:官方设置是自动启动模式appSetLoginItemSettings:如果自动启动软件设置为以管理员权限运行,则无法自动启动。只有在取消选中具有管理员权限的运行时,才能自动启动。
原因:默认情况下,当程序需要管理员权限才能启动时,64位程序无法通过注册表启动,但32位程序仍然有效。您可以将64位注册表启动键的位置写入32位路径。
它存储在LocalMachine下。
32位注册表位置:计算机HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
64位注册表位置:计算机HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

设cp=require('child_process');
//获取可执行文件的位置,例如:在打包程序之前,找到节点_Modules electron dist electron.exe。程序打包并安装后,将找到实际项目的可执行文件。
const ex=进程执行路径;
//监控设置在启动后自动启动
ipcMain。句柄(“set-launch-with-windows”,(事件,参数)=>{
//打包app后,将可执行路径写入注册表。
if(args.launch_with_windows){
cp.exec(`REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run/v electron.app.BigFoot-WOW/t REG_SZ/d“${ex}”/f`,函数(err){
console.log(错误);
});
}其他{
cp.exec(“REG DELETE HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run/v electron.app.BigFoot-WOW/f”,函数(err){
console.log(错误);
});
}
})
优点:您可以通过设置管理员权限自动启动软件。
缺点:机器自动启动时会弹出UAC授权窗口。
UAC.png公司
4.计划任务启动程序

优点:通过设置管理员权限,软件可以自动启动,不会弹出UAC授权窗口。
实现思路:编写一个程序,如luancher Exe,设置这个p