electron项目开机自启动

一、效果展示:界面控制是否需要开机自启动

二、代码实现:

1、在渲染进程login.html中,画好界面,默认勾选;

html 复制代码
<div class="intro">开机自启动 <input type="checkbox" id="checkbox" checked/></div>

2、在渲染进程login.js中,获取用户操作并localStorage存储数据,保存用户的操作;

javascript 复制代码
 const checkbox = document.querySelector('#checkbox') 
 let isStartup = localStorage.getItem('isStartup') || '' //是否开机启动

3、在渲染进程login.js中,在登录成功后设置是否开机自启动;

javascript 复制代码
//在登录接口调用成功后操作
if (response.ok) {
    // do something
    // 设置开机自启动
    localStorage.setItem('isStartup', checkbox.checked ? 'yes' : 'no')
    // 给主进程发消息
    ipcRenderer.send('handle-checkbox', checkbox.checked)
  }

4、在主进程main.js中,收到登录后的消息,自动配置是否开机自启动;

javascript 复制代码
// 用户登录开机时是否自动启动
ipcMain.on('handle-checkbox', (event, isChecked) => {
  app.setLoginItemSettings({
    openAtLogin: isChecked,
    // 如果应用以管理员身份运行,设置此选项为true可避免UAC(用户账户控制)对话框在Windows上弹出。
    openAsHidden: false, // macOS特有的,当设置为true时,应用会隐藏式启动
  })
})

5、在渲染进程login.js中,重新登录时判断是否勾选开机自启动;

javascript 复制代码
 // 重新登陆时判断是否勾选开机自启动
  if (isStartup && isStartup == 'yes') {
    checkbox.checked = true
  } else {
    checkbox.checked = false
  }
相关推荐
jerrywus3 分钟前
前端老哥的救命稻草:用 Obsidian 搞定 Claude Code 的「金鱼记忆」
前端·agent·claude
球球pick小樱花8 分钟前
游戏官网前端工具库:海内外案例解析
前端·javascript·css
用户605723748730815 分钟前
AI 编码助手的规范驱动开发 - OpenSpec 初探
前端·后端·程序员
狗胜18 分钟前
AI观察日记 2026-03-02|CLAUDE、TYPE、APPFUNCTIONS:掘金热门里的下一步信号
前端
喝水的长颈鹿20 分钟前
【大白话前端 02】网页从解析到绘制的全流程
前端·javascript
明君8799721 分钟前
Flutter 实现 AI 聊天页面 —— 记一次 Markdown 数学公式显示的踩坑之旅
前端·flutter
用户145369814587823 分钟前
VersionCheck.js - 让前端版本更新变得简单优雅
前端·javascript
米饭同学i24 分钟前
微信小程序实现随机撒花效果
前端
Arthur147261228654724 分钟前
模块化和组件化的区别
前端
codingWhat27 分钟前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js