Electron 使用 Tray设置图标的路径问题

摘要:
错误消息如图所示。上面的代码在开发模式下不会报告错误,但在构建和安装之后,它会提示错误。错误消息的意思是参数错误。原因应该是安装后映像文件的路径有问题。解决上述问题的方法尚未详细研究。在使用nativeImage而不是字符串路径newTray(nativeImage.createFromPath(path.jjoin(__dirname,'xxx.png'))上方的代码后,可能找不到代码

问题报错信息如图

Electron 使用 Tray设置图标的路径问题第1张

上面的代码在dev模式下不报错,但是在build后,安装后,运行会提示错误,错误信息的大意是参数错误,原因应该是安装后的图片文件路径有问题,这块没有详细研究
解决上面的问题的方法,是使用nativeImage代替字符串路径

new Tray(nativeImage.createFromPath(path.join(__dirname, 'xxx.png')))

上面的代码打包后,也有可能找不到图标路径,虽然不报错,但是图标是空的,如果使用ecectron-vue,可将图标放在根目录下的static目录,如static/xxx.png,然后使用下面的代码设置

new Tray(nativeImage.createFromPath(path.join(__static, 'xxx.png')))

免责声明:文章转载自《Electron 使用 Tray设置图标的路径问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决Flutter boost模块化加入到原有android项目后,首次加载过慢的问题【Zynq UltraScale+ MPSoC解密学习7】Zynq UltraScale+的PMU下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java多线程中static变量的使用

线程,是我们项目中绕不过的重点领域。提到线程,就常会听到线程安全的术语。那什么是线程安全呢?通俗点说,就是线程访问时不产生资源冲突。其实,这是一个有点难以定义的概念,不是很容易让人一听就懂的概念。“一个类可以被多个线程安全调用就是线程安全的”《Java并发编程实践》。     来说说静态变量、实例变量、局部变量在多线程下的安全问题吧!     (一)静态变...

spring boot 中用@value给static变量赋值

需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量。 @value("${redis.host}") private static String redisHost; 运行后发现注入失败。解决办法:看了网上大家的说法,有用中间变量的,有用set方法赋值的。试了一下都是可以成功赋值的, 以下引用别人的代码: 给参数注入,执行set方法(这里...

java倒计时三种简单实现方式

写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时; 二:设置时间戳的倒计时; 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: 1 package timer; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 impo...

django-开发博客1(前后端不分离模式)

首先将个人博客模板<<simple>>解压,解压如下图: 将index.html复制到templates目录下,覆盖之前的index.html,然后刷新http://127.0.0.1:8000/index/,首先会报错,来到index.html页面里,将charset改成utf-8,再刷新就可以看到杨青的个人博客,但是页面样式不...

基于Platinum库的DMS实现(android)

接上篇博文:基于Platinum库的DMR实现(android) 文章讲述了如何使用Platinum库实现DMR 今天同样使用该库,来讲解一下DMS的实现 关于该库如何编译,请参考这篇博文:NDK下 将Platinum SDK 编译成so库 (android - upnp) 下面给出运行效果图: 界面很简单,就是一些开关和设备名以及设备运行状态的展现 下...

记录 vue新建项目+electron打包桌面软件

1.node.js 安装好的情况下 安装脚手架vue-cli npm install -g @vue/cli (安装失败的话给"@vue/cli" 加上引号试试) 2.创建项目    vue create 项目名 (然后是一堆英文选项是否生成router之类的。参考下面博客) 3.进入项目根目录(electron-vue-helloworld),然后执行...