Я работаю над электронным тестовым приложением для Windows.
Цель - автозапуск приложения, которое отображает всплывающее сообщение каждый раз, когда пользователь Windows входит в систему.
Сценарий:
- Я выполняю
npm start
для упаковки своего кода. (index.js +
package.json)
- Я выполняю сгенерированный
.exe
, который выдаст мое сообщение. (пока все хорошо, правда?)
- Я выхожу из окна (
CTRL + L ALT + DEL
, если это важно) и снова вхожу, чтобы протестировать приложение.
- Открывается всплывающее окно, но по умолчанию также есть электронная страница приветствия.
package.json
{
"name": "test",
"description": "",
"version": "0.0.1",
"main": "index.js",
"scripts": {
"test": "electron .",
"start": "electron-packager . Test --platform=win32 --arch=x64 --overwrite"
},
"author": "",
"license": "MIT",
"build": {
"appId": "com.test.test",
"win": {
"target": "NSIS"
}
},
"dependencies": {
"auto-launch": "^5.0.5"
},
"devDependencies": {
"electron": "latest",
"electron-packager": "^12.1.1"
}
}
index.js
const {app, dialog} = require("electron");
const AutoLaunch = require("auto-launch");
app.on("ready", function(){
dialog.showMessageBox({ message: "We are ready to take off! :-)", buttons: ["OK"] });
let autoLaunch = new AutoLaunch({
name: "test"
// path: app.getPath("exe")
}).isEnabled().then((isEnabled) => {
if (!isEnabled){
autoLaunch.enable();
dialog.showMessageBox({ message: "AutoLaunch enabled.", buttons: ["OK"] });
}
else dialog.showMessageBox({ message: "AutoLaunch already enabled.", buttons: ["OK"] });
});
app.quit();
});
Редактировать: Обнаружена проблема, препятствующая обновлению package.json
. Простое npm info
привело к совершенно неожиданному выводу.