(node.js) Windows 8 toast 通知中的次要图像来自哪里?

Posted

技术标签:

【中文标题】(node.js) Windows 8 toast 通知中的次要图像来自哪里?【英文标题】:Where does secondary image in (node.js) Windows 8 toast notification come from? 【发布时间】:2016-06-24 01:48:57 【问题描述】:

我在 node.js 中使用 node-notifier (link) 在 Windows 8 中显示 toast 通知。我可以在通知中调整标题、文本和主图像正好。但是,在 Windows 8 toast 通知中,有一个次要(较小的)图像。见下文:

所以,node-notifier 使用 toaster,而后者又使用 ToastNotificationManager。但是,我在任何地方都找不到这个次要图像的任何参考。我在 Microsoft 的网站上查看了 here 和 here。

此次要图像还显示在我从 Outlook、Slack 等应用程序收到的其他通知中。

这个次要图像来自哪里?文档是否已过时?可以修改 Toaster 以访问此次映像吗?

【问题讨论】:

在我看来它可能是显示吐司的程序图标? @JoeClay 是的,可能是。我希望有一种方法可以隐藏它和/或更改它,因为它没有拾取应用程序图标(或者它可能需要某种类型的图标/大小/任何工作)。无论如何,我找不到任何参考。 【参考方案1】:

次要图像是开始菜单文件夹中的快捷方式图标,用于注册以举杯的程序。要更改它,您需要修改快捷方式上的图标。

对于使用ToastNotificationManager 类的桌面应用程序,需要在开始菜单中有一个快捷方式,以及与该快捷方式关联的 AppUserModelId。在ToastNotificationManager 创建时,调用者传入相同的 AppUserModelId,它与快捷方式的关联图标相关联。有关注册桌面应用程序以举杯的更多信息,请访问this MSDN documentation page。

查看toaster code here,它正在安装开始菜单中名为 toast.lnk 的文件的快捷方式:

String shortcutPath = 
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +
    "\\Microsoft\\Windows\\Start Menu\\Programs\\toast.lnk";

而且,它正在创建针对初始调用进程的快捷方式:

String exePath = Process.GetCurrentProcess().MainModule.FileName;

手动更新快捷方式中的图标应该验证您可以更改本地显示的内容,但可能需要更新 toaster 以设置图标位置(以支持使用不同快捷方式的多个调用者,或者通过调用 @987654325 @)。

【讨论】:

替换指定路径lnk文件上的图标后,toast通知中的图标更新了。而且我看到了如何修改 Toaster 以使其更灵活。谢谢!

以上是关于(node.js) Windows 8 toast 通知中的次要图像来自哪里?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 8 应用程序中安排特定日期和时间的 toast 通知?

如何使用 CLI 在 Windows 操作系统中将 node.js 6.x 更新为 8.x

适用于 Windows/Node 0.8 的 Node.js 键值存储

适用于 Windows 商店 8.1 的 Windows Azure node.js 推送通知 - 如何使用“createRawTemplateRegistration”模板?

Pushwoosh 为 windows Phone 8.1 推送 Toast 通知

sh Node Sass找不到当前环境的绑定:带有Node.js 8.x的Windows 64位