Как использовать автозапуск для запуска приложения при запуске системы?

package.json:

{
  "name": "electronapp",
  "version": "1.0.0",
  "description": "electron auto-launch",
  "main": "index.js",
  "scripts": {
    "start": "electron .",
    "build": "electron-packager . --all"
  },
  "author": "ivie",
  "license": "ISC",
  "devDependencies": {
    "Q": "^1.0.0",
    "asar": "^0.13.0",
    "electron": "^1.7.6",
    "electron-packager": "^9.1.0",
    "electron-prebuilt": "^1.4.13",
    "fs-jetpack": "^1.2.0",
    "grunt-electron-installer": "^2.1.0",
    "rcedit": "^0.9.0"
  },
  "dependencies": {
    "auto-launch": "^5.0.1"
  }
}

index.js:

var electron = require('electron');
var app = electron.app;
var BrowserWindow = electron.BrowserWindow;
var path = require('path');

app.on('ready', ()=>{
    var mainwindow = new BrowserWindow({
        width: 1200,
        height: 800,
        icon: "favicon.ico",
        frame:true,
        title:'Menuboard',
        fullscreen: false,
        autoHideMenuBar: false
    })
    mainwindow.openDevTools();
    mainwindow.loadURL('https://www.google.com');
    mainwindow.on('closed', function() {
        mainwindow = null;
    });
});
app.on('window-all-closed', function() {
    if(process.platform != 'darwin')
        app.quit();
})

Я сгенерировал электронный .exe с помощью этого кода. Он запускается, когда я дважды щелкаю по нему. Но я хочу запустить его при запуске Windows. Узнал об автозапуске. Но я не уверен, как использовать его в своем приложении? Любая помощь будет оценена.


person Community    schedule 20.09.2017    source источник


Ответы (2)


Загрузите модуль автозапуска:

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

Затем добавьте это после app.on('ready', ()=>{:

  let autoLaunch = new AutoLaunch({
    name: 'Your app name goes here',
    path: app.getPath('exe'),
  });
  autoLaunch.isEnabled().then((isEnabled) => {
    if (!isEnabled) autoLaunch.enable();
  });
person Timur Nugmanov    schedule 29.01.2018

К вашему сведению, теперь это предоставляется Electron из коробки:

https://electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows

Пример:

const electron = require("electron")

electron.app.setLoginItemSettings({
    openAtLogin: arg.settings.startOnStartup,
    path: electron.app.getPath("exe")
});

ИЗМЕНИТЬ

Судя по новым комментариям, это может быть устаревшим. Попробуйте сначала ответить Тимура Нугманова.

person Sellorio    schedule 06.10.2018
comment
Работает ли это на всех платформах, или его нужно вообще модифицировать, или linux и mac? - person Katie; 23.09.2019
comment
Я использовал только окна для своего приложения, поэтому не могу вам сказать. - person Sellorio; 24.09.2019
comment
Это не сработало для меня, потому что он жаловался на args. Ответ, приведенный ниже, работал нормально. - person sediq khan; 24.08.2020