我想将所有地方的默认 Electron 图标更改为自定义图标,但我无法在两个地方更改。
我也尝试过一些解决方案
mainWindow = new BrowserWindow({
width: 1024,
height: 768,
resizable: false,
icon: path.join(__dirname, 'src/app_64x64.png'),
});
和
mainWindow.setOverlayIcon(path.join(__dirname, 'src/app_128x128.png'), 'Description for overlay');
但这两种解决方案都不起作用。有什么办法可以改变图标吗?
Windows 任务栏图像
窗口应用程序搜索图像
如果您使用 电子构建器模块构建应用程序,则添加此
"build": {
"productName": "Your App Name",
"win": {
"target": "NSIS",
"icon": "public/img/logo.ico"
}
}
在 package.json
除了毗湿奴的建议之外: 您也可以将 icon.png 文件放入 buildResources 文件夹中。 所以,我的 electron.manifest.json 看起来像这样:
"build": {
"appId": "ID",
"productName": "NAME",
"copyright": "Copyright",
"buildVersion": "1.0.0",
"compression": "maximum",
"directories": {
"output": "../../../bin/Desktop",
"buildResources": "./bin/_____"
},
"win": {
"target": "nsis"
}
但请注意,Windows 似乎会缓存图标,这可能是您看不到任何更改的原因。您可以尝试删除 C:\Users%USER_NAME%\AppData\Local\IconCache 并重新启动电脑看看是否是这种情况。
将图标属性设置为 app.js 中的 BrowserWindow (或您为条目命名的内容):
function createWindow() {
mainWindow = new BrowserWindow({
icon: 'images/logo.ico',
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
}
})
确保将其包含在您的 forge.config 中:
module.exports = {
packagerConfig: {
icon: 'images/logo.ico'
这也在 forge.config 中:
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {
// An URL to an ICO file to use as the application icon (displayed in Control Panel > Programs and Features).
icon: 'images/logo.ico',
// The ICO file to use as the icon for the generated Setup.exe
setupIcon: 'images/logo.ico',
},
},
所有这些都会改变您的应用程序图标、任务栏图标、窗口图标。目前,Windows 7 和 10 上的添加/删除程序中的图标以及任务管理器中的图标存在问题。
注意! 正如 @Tetiana 上面提到的 - Windows 在这里缓存图标: C:\Users%USER_NAME%\AppData\Local\IconCache 如果您想查看真实的图标,请删除它并重新启动。我花了半天时间才弄清楚为什么他们没有改变。
对于那些单独使用 Electron 和 package.json 文件的人。确保使用“icon”键包含 png 的路径。
示例:
{
“名称”:“应用程序”,
“版本”:“1.0.0”,
“描述”:“一般描述”,
“main”:“main.js”,
“类型”:“模块”,
“图标”:“./path/to/icon.png”,
}