在Windows重新启动时启动Electron应用程序

时间:2016-04-20 06:43:10

标签: windows gruntjs electron

所以我使用https://github.com/electron/grunt-electron-installer为我的Electron应用程序构建了一个Windows安装程序。

我不确定如何在系统启动时启动我的应用,例如用户重新启动计算机时。我怀疑这是--squirrel-install我需要做的事情,但我无法找到有关如何操作的文档。

理想情况下,我会为用户提供一个菜单选项来启用/禁用此行为。

2 个答案:

答案 0 :(得分:1)

如果你在Windows / MAC上使用电子,你可以使用现有的api轻松自动启动你的电子APP:

        _electron.app.setLoginItemSettings({
            openAtLogin: true,
            path: _electron.app.getPath('exe')
        })

参考资料可以在这里找到: https://electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows

答案 1 :(得分:0)

这可以通过几种不同的方式完成。我在Windows操作系统上执行此操作的方法是使用节点winreg模块,这允许我添加一个在启动时启动该应用程序的注册表项。我在具有一些用户设置的应用程序的设置窗口中使用此方法:

function setKeyValue () {
    var regKey = new winreg({
        hive: winreg.HKCU,
        key: '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run'
    });
    regKey.set('Your_Application_Name', winreg.REG_SZ, '"' + process.execPath + '"', function (err) {
        if (!err) {
          //notify user?
        }
    });

如果用户在启动时禁用了应用启动,我也会采用相反的方法删除注册密钥regKey.remove

或者,我最近看过这个节点模块:auto-launch,这允许您设置应用程序是否在Mac,Windows和Linux上启动时启动,因此可能对您更有用。