Electron 自动启动打包应用程序开始欢迎 window
Electron auto launch packaged application starts welcome window
我正在为 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
导致了完全意外的输出。
哇,完全忘了这个问题。
解决方案如下:
更新所有依赖项。
确保 .html / .js 文件的路径是绝对且正确的。
以 /
开头的绝对路径
例如/files/index.html
原来是这样!
我正在为 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
导致了完全意外的输出。
哇,完全忘了这个问题。 解决方案如下:
更新所有依赖项。 确保 .html / .js 文件的路径是绝对且正确的。
以 /
开头的绝对路径
例如/files/index.html
原来是这样!