一。Main主线程
//开机自启与关闭启动
ipcMain.on('startFun', (e, arg) => {
console.log(arg)
console.log(app.getLoginItemSettings().openAtLogin)
if(arg==app.getLoginItemSettings().openAtLogin) return;
if(arg){
app.setLoginItemSettings({
openAtLogin: arg,
path: process.execPath
})
}else{
app.setLoginItemSettings({
openAtLogin: false
})
}
二。Render渲染进程
<el-menu-item @click="startUp()">
<i class="el-icon-sort"></i>
<span v-if="autoStart">关闭开机启动</span>
<span v-else>设置开机启动</span>
</el-menu-item>
created() {
this.updateTime()
// 查询开机启动设置
this.autoStart = ipc.sendSync('getStartFun')
},
methods: {
// 开机启动
startUp() {
if (!this.autoStart) {
// 设置开机启动
ipc.send('startFun', true)
} else {
// 关闭开机启动
ipc.send('startFun', false)
}
this.autoStart = ipc.sendSync('getStartFun') // 重新拉取状态
}
}