首页 > 解决方案 > 构建.exe后电子托盘和自动启动功能不起作用

问题描述

我已经用这里的教程构建了一个电子应用程序。

现在的问题是,“最小化到托盘”功能和“自动启动”功能不再起作用。通过npm start它启动我的应用程序时,但不能使用 .exe

托盘功能的代码来自这个答案:Electron.js 如何最小化/关闭系统托盘的窗口并从托盘恢复窗口?

自动启动功能的代码来自这里:如何在系统启动时使用自动启动启动应用程序?

有谁知道为什么在构建 .exe 后这些功能不再起作用?(以管理员身份启动没有帮助)

标签: node.jselectron

解决方案


这不起作用的原因是托盘菜单图标的路径被定义为./icon.png但在构建应用程序后,该文件不再位于同一位置。所有应用程序文件都移动到./resources/app/.

所以这对我来说是修复:

let trayIcon = null
if(!app.isPackaged) {
  trayIcon = './icon.png'; // when in dev mode
} else {
  trayIcon = './resources/app/icon.png';
}

推荐阅读