微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NativeImage在Electron中的setOverlayIcon中不起作用

我试图为我的应用程序的任务栏图标(Windows 10)做一个数字徽章。 我已经使用这个代码作为起点,并修改了一下。 创build徽章之后,我使用以下内容在渲染器进程中进行设置:

var electron=require('electron'),remote=electron.remote,nativeImage=electron.nativeImage; ... var win=remote.getCurrentwindow(); ... var badgeDataURL=canvas.toDataURL(); var img=nativeImage.createFromDataURL(badgeDataURL); win.setoverlayIcon(img,''+n);

运行这个给我以下错误

Uncaught Error: Could not call remote function 'setoverlayIcon'. Check that the function signature is correct. Underlying error: Error processing argument at index 0,conversion failure from #<Object> Error: Could not call remote function 'setoverlayIcon'. Check that the function signature is correct. Underlying error: Error processing argument at index 0,conversion failure from #<Object> at callFunction (A:electronresourceselectron.asarbrowserrpc-server.js:235:11) at EventEmitter.<anonymous> (A:electronresourceselectron.asarbrowserrpc-server.js:342:5) at emitMany (events.js:127:13) at EventEmitter.emit (events.js:201:7) at WebContents.<anonymous> (A:electronresourceselectron.asarbrowserapiweb-contents.js:231:13) at emitTwo (events.js:106:13) at WebContents.emit (events.js:191:7)MetaTovalue @ A:electronresourceselectron.asarrendererapiremote.js:217remoteMemberFunction @ A:electronresourceselectron.asarrendererapiremote.js:113electronSetBadge @ app.js:81updateBadge @ app.js:156initClick @ app.js:183(anonymous function) @ app.js:203dispatch @ jquery-1.12.4.min.js:3r.handle @ jquery-1.12.4.min.js:3

我已经尝试了以下内容

不同版本的Electron(1.4.13和1.2.8)

testingbadgeDataURL和img的内容,这是一个有效的图像

testingsetoverlayIcon与一个静态图像: win.setoverlayIcon(__dirname+'/pics/badge.png',''+n) (它的工作原理)

win.setoverlayIcon(null,'')也可以

虽然文档说setoverlayIcon期望第一个参数是NativeImagetypes,但我还是无法在任何地方find工作示例。 有任何想法吗?

使用Electron自定义形状的独立Windows应用程序

电子:电子生成器configuration

触发器系统认打开对话框 – 电子

ZOE ERROR(从/ usr / lib / snap / snap):打开参数文件时出错

如何检测电子/铬应用程序中的Windows软键盘

电子控制的无框窗口(Windows)

电子browserWindow与窗口locking到一半屏幕

阅读电子渲染过程中的Windows命令行选项

如何以编程方式更改Windows可执行文件和Mac应用程序的图标?

以pipe理窗口运行电子应用程序

对我来说, setoverlayIcon需要从主进程运行。 这是固定在我身边的东西:

在我的渲染过程中:

ipcRenderer.send('update-badge',canvas.toDataURL())

而在我的主要过程中:

ipcMain.on('update-badge',(event,data) => { let img = nativeImage.createFromDataURL(data) win.setoverlayIcon(img,'description') }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐