electron设置开机启动

现在electron生态已经很成熟了 各种第三方库也很多 今天我就说一下我用到的: auto-launch

主要还是使用比较简单 只需要几行代码即可完成 以下是demo

  1. 安装auto-launch

npm install --save auto-launch

  1. 导入

const AutoLaunch = require("auto-launch");

  1. 编写一个函数

const setStartWitSystem = () => {
    try {
        const ex = process.execPath;
        const isDevelopment = process.env.NODE_ENV !== "production";
        if (!isDevelopment) {
            const nnp = AutoLaunch({
                name: 'NNPrintCake',
                path: ex,
                isHidden: true
            })

            nnp.isEnabled().then(function (isEnabled) {
                if (isEnabled) {
                    return;
                }
                nnp.enable();
            })
                .catch(function (err) {
                    // handle error
                    console.log('无法添加开机启动')
                });
        }
    } catch (e) {
        console.log(e)
    }
}
  1. 使用

// 当electron完成初始化
    app.whenReady().then(() => {
        // 创建浏览器窗口
        createWindow();
        setStartWitSystem()
        app.on("activate", function () {
            if (BrowserWindow.getAllWindows().length === 0) {
                createWindow();
            }
        });
    });

注意:生产包如果使用https服务的话,配置开机启动需要正确设置server.key的路径