Electron-react 项目设置开机启动

551 阅读1分钟

前戏:最近在做 Electron 桌面应用的一个项目,有一个设置开机启动的需求,这里记录分享下功能实现。

这里完成该功能的方案是修改电脑端注册表进行实现开机自启功能。

1.用户在安装应用完成之后,存在一个安装完成页面,用户可以在安装完成页面进行勾选是否需要开机自启

这里就是要实现该功能

解决:首先我们要在安装完成的页面中添加复选框,这里需要用到 NSIS 脚本中的安装页面的设置页面,

用到的是 MUI_FINISHPAGE_SHOWREADME ****这个属性,

我们可以查阅 NSIS 资料

其实很简单就是通过上面几个命令实现的,然后在 function 中把我们需要的功能写进注册表:

下面看下脚本编写:

;...

;可以通过复选框决定是否查看的文件或网站. 当文件名中有空格时, 你不需用引号将其括起来.
!define MUI_FINISHPAGE_SHOWREADME
;显示在 "显示自述" 复选框旁的文本.
!define MUI_FINISHPAGE_SHOWREADME_TEXT "添加开机启动"
;用调用一个函数替代显示一个文件 (定义 MUI_FINISHPAGE_SHOWREADME 而不用参数). 你可以用这个函数显示多个文件, 或者你可以更改此复选框的名称并用它做其它事情.
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION AutoOpen

;...

Function AutoOpen
;后面是存放注册表的键值
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "PilotOSClient" "$INSTDIR\PilotOSClient.exe"
FunctionEnd

以上就是完成开机启动的功能,后面会继续更新如何在渲染进程中控制开机启动