electron 窗口图标和exe图标替换?

对electron 左上角窗口图标和状态栏的图标进行替换,再main.js中加上配置
4652085740e4eb20e4056e3944187ce.png
开发运行时可以看到成功替换了,但是在打包后双击exe运行程序时发现还是默认图标
5eb4ddaad5f8c0c96332a4bcabf47b7.png

同时相对exe的图标进行替换进配置,该配置是中的projectName是有生效的,所以可以确定这个配置文件有运行。
711fe57de57d72b2598257e199957f0.png
打包后exe的图标也还是默认的 想问下该如何进行更改

相关版本信息
885782d6331422a17385e2c45d4660d.png

在网上有看很多解决方案,但是都差不多,并没有解决我的问题

阅读 997
avatarAI BotBETA

要替换 Electron 应用程序的窗口图标和可执行文件(.exe)的图标,你需要在 BrowserWindow 的构造函数中指定窗口图标,并在打包配置中指定 .exe 图标。下面是如何操作的步骤:

替换窗口图标

main.js 文件中,创建 BrowserWindow 实例时,使用 icon 选项来设置窗口图标:

const { BrowserWindow } = require('electron')
const path = require('path')

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    },
    icon: path.join(__dirname, 'path/to/your/icon.png') // 指向你的图标文件
  })

  win.loadFile('index.html')
}

app.whenReady().then(createWindow)

确保你提供了正确的路径到图标文件。

替换 .exe 图标

对于 .exe 图标,你需要使用 Electron Packager、Electron Builder 或其他打包工具,并在其配置中指定图标。

以 Electron Builder 为例,在 package.jsonbuilder-config.yml 文件中添加 icon 字段:

{
  "name": "your-app",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "build": {
    "appId": "com.example.yourapp",
    "win": {
      "icon": "build/icon.ico" // 指向你的 .ico 图标文件
    }
  }
}

注意:对于 Windows,通常使用 .ico 格式的图标文件。确保你的图标文件在指定的路径下,并且格式正确。

打包后生效

当你运行打包命令(如 electron-packagerelectron-builder)时,它应该使用你指定的图标来创建应用程序。

如果你已经按照上述步骤操作,但图标仍未改变,请检查以下几点:

  1. 清理缓存:有时,打包工具可能会使用缓存的图标。尝试清理缓存并重新打包。
  2. 检查路径:确保图标文件的路径正确,并且图标文件在打包时是可访问的。
  3. 文件格式:确保你使用的是正确的图标格式(如 .png 用于窗口图标,.ico 用于 .exe 图标)。
  4. 权限问题:确保你的用户账户有权限读取图标文件,并且在打包过程中没有权限问题。

如果问题仍然存在,你可能需要提供更多的信息,如你的打包命令和配置文件的完整内容,以便进行更详细的诊断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏