参考文档:
https://newsn.net/say/electron-auto-launch.html

方法来源于官方API:
https://electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows

这是官方的内容

app.setLoginItemSettings(settings) macOS Windows

  • settings Object
  • openAtLogin Boolean (可选) - true在登录时启动应用,false 移除应用作为登录启动项 。默认为 false.
    openAsHidden Boolean (可选) macOS - true 表示以隐藏的方式启动应用。 默认为false。 用户可以从系统首选项中编辑此设置, 以便在打开应用程序时检查 app.getLoginItemSettings().wasOpenedAsHidden 以了解当前值。 该配置在 MAS 构建 时不可用。
    path String (可选) Windows - 在登录时启动的可执行文件。默认为 process.execPath.
    args String Windows - 要传递给可执行文件的命令行参数。默认为空数组。注意用引号将路径换行。
    设置应用程序的登录项设置。

如果需要在使用Squirrel的 Windows 上使用 Electron 的 autoUpdater ,你需要将启动路径设置为 Update.exe,并传递指定应用程序名称的参数。 例如:

const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)app.setLoginItemSettings({openAtLogin: true,path: updateExe,args: ['--processStart', `"${exeName}"`,'--process-start-args', `"--hidden"`]
})

这是自己的代码:

划重点:openAtLogin参数的true、false不能通过传参来解决,只能写两个方法(当然也不知道是不是自己电脑的BUG,待各位验证)

主进程import ipcMain from 'electron';const appFolder = path.dirname(process.execPath);
const updateExe = path.resolve(appFolder, 'test.exe');ipcMain.on('changeAutoStart-open',()=>{app.setLoginItemSettings({openAtLogin: true,path: updateExe,args: []});});ipcMain.on('changeAutoStart-closed',()=>{app.setLoginItemSettings({openAtLogin: false,path: updateExe,args: []});})
渲染进程// 对自动启动场景,进行处理if('autoStart' == name){if(checked){ipcRenderer.send('changeAutoStart-open');} else {ipcRenderer.send('changeAutoStart-closed');}};

electron支持开机自启动(注册表写入)相关推荐

  1. 注册表写入二进制数据

    注册表写入二进制数据 原文:http://bbs.csdn.net/topics/390237976 uses Registry; procedure TForm1.Button1Click(Send ...

  2. Win7注册表写入失败怎么办?Win7写入注册表失败的解决方法

    Win7注册表写入失败怎么办?Win7系统写入注册表时失败可能是由于权限不足造成的,下面小编就给大家带来Win7写入注册表失败的解决方法,一起来看看吧. 方法步骤 1.首先找到写入出错的注册表位置; ...

  3. 怎么在计算机应用程序延时启动,Window 7 如何设置自动重启、自动关机、延时启动程序、开机恢复注册表启动项为初始值等批处理操作?...

    1.Windows 7 的 shutdown.exe 程序可实现操作系统自动重启与关机功能,具体用法可通过 shutdown /? 查看,具体用法如下: shutdown [/i | /l | /s ...

  4. 批处理操作注册表完全攻略(读取注册表/写入注册表等)

    一,批处理生成.Reg文件操作注册表  用批处理中的重定向符号可以轻松地生成.reg文件.然后用命令执行.reg文件即可!  这里,着重要了解.reg文件操作注册表的方法.  首先.reg文件首行必须 ...

  5. 如何安装VM虚拟机,解决注册表写入问题。

    1.在安装的途中我遇到了注册表项无法写如的问题,中文提示是你没有这个权限.这个问题的原因是你的regedit.exe的问 题,百度上大多说regedit.exe在​C:\Window\System32 ...

  6. Windows注册表的读写操作

    目录 1 注册表(Registry)介绍 1.1 注册表简介 1.2 注册表位置 1.3 开启/禁用 注册表编辑器 1.4 注册表的结构 1.5 修改注册表实例 2 程序中对注册表的读写操作 2.1 ...

  7. C++ 无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run以实现开机自启动应用程序

    C++中通过写入注册表实现应用程序开机自启动时,如果应用程序本身以非管理员权限启动的话,是写入machine级别的注册表的,如果以管理员权限启动应用程序,可以写入machine级别的注册表,但是默认以 ...

  8. C#操作开机自启动(写进注册表)

    /// <summary>/// 开机自启动/// </summary>/// <param name="fileName">文件路径</ ...

  9. Windows 注册表开机启动总结

    1.Run键 Run键是病毒最青睐的自启动方式,该键位置是[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run]和[HKEY ...

最新文章

  1. liunx 下dhcp中继及服务器配置
  2. hadoop生态下hive安装过程
  3. Android 学习笔记
  4. android通讯录项目_Flutter高仿微信项目开源-具即时通讯IM功能
  5. 一文深度解析线性表的前世今生!!!
  6. 操作系统(二十二)用信号量机制实现进程互斥、同步、前驱关系
  7. 如何解决在onCreate()中获取View的width和Height为0?
  8. 前端学习(496):noscript元素
  9. 做CV和做NLP,是否都有光明的未来?
  10. nginx 开启gzip压缩--字符串压缩比率很牛叉
  11. 心情随笔(五):九月依然精彩
  12. JAVA设对话框的位置,setLocation/setBounds皆可
  13. python惰性_如何创建惰性属性以提高Python的性能
  14. cad细等线体不显示_cad字体cass cass如何修改字体
  15. 集成电路模拟版图入门-版图基础学习笔记(六)
  16. Excel常用函数——count
  17. html浏览xsd,那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
  18. mm struct与pgd
  19. caspase家族的特点_caspase家族
  20. 小实战项目之——吃货联盟订餐系统

热门文章

  1. 浅析系统性思维——新书《系统思维的艺术》解读(下)
  2. 让Axmath自动插入公式编号并根据章节排号
  3. 大数据应用场景全景图
  4. js破解 楚楚 街的登录参数加密
  5. java多个IO流性能PK——MappedByteBuffer问鼎
  6. vSphere Web Client无法连接vCenterServer问题(5.5)
  7. C语言前驱和后继字母,数据结构(c语言)3.ppt
  8. “2009福布斯中国名人榜”榜单
  9. 18. 地下城与勇士
  10. 图像特征描述子——Susan