【发布时间】:2020-11-03 21:41:26
【问题描述】:
我使用app.setLoginItemSettings(settings) 在系统启动时自动启动应用程序。我相信Electron API doc page 中给出的示例适用于 Windows。在 Electron main.js 中添加以下内容时,应用程序自动启动就好了,但还会显示一个额外的窗口,上面写着我不想要的以下内容:
To run a local app, execute the following on the command line:
Users/abc/Documents/Repositories/app/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron path-to-app
main.js
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
import { app } from "electron";
app.on("ready", async() => {
app.setLoginItemSettings({
openAtLogin: true,
path: updateExe,
args: [
'--processStart', `"${exeName}"`,
'--process-start-args', `"--hidden"`
]
});
});
我也尝试了以下path,但这也没有用:
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
import { app } from "electron";
app.on("ready", async() => {
app.setLoginItemSettings({
openAtLogin: true,
path: "/Applications/MyApp.app",
args: [
'--processStart', `"${exeName}"`,
'--process-start-args', `"--hidden"`
]
});
});
另外,也尝试了Electron Root Path package,但仍然没有运气:
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
import { app } from "electron";
import { rootPath } from "electron-root-path";
app.on("ready", async() => {
app.setLoginItemSettings({
openAtLogin: true,
path: rootPath,
args: [
'--processStart', `"${exeName}"`,
'--process-start-args', `"--hidden"`
]
});
});
最后但并非最不重要的????,也尝试了以下但仍然没有运气:
const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)
import { app } from "electron";
import { rootPath } from "electron-root-path";
app.on("ready", async() => {
if (process.platform === "darwin") {
app.setLoginItemSettings({
openAtLogin: true,
openAsHidden: true,
path: rootPath
});
} else {
app.setLoginItemSettings({
openAtLogin: true,
openAsHidden: true,
path: updateExe,
args: [
"--processStart",
`"${exeName}"`,
"--process-start-args",
`"--hidden"`
]
});
}
});
我没有完成这项工作的所有想法。任何人的任何帮助都将不胜感激:)
【问题讨论】:
标签: javascript node.js electron