Я работаю над электронным тестовым приложением для Windows.
Целью является автоматически запускаемое приложение, которое отображает всплывающее сообщение каждый раз, когда пользователь Windows входит в систему.
Сценарий:
- Я выполняю
npm start
, чтобы упаковать свой код. (index.js + package.json) - Я выполняю сгенерированный
.exe
, в котором появится мое сообщение. (пока все хорошо, правда?) - Я выхожу из Windows (
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
привел к совершенно неожиданному результату.