在MAUI for Windows中,Taskbar badge notifications API会静默失败,如microsoft-ui-xaml项目中的this issue所述。当应用程序运行时,它会显示在开始菜单中,但不会显示在任务栏中(但在应用程序关闭后,它会神奇地出现)。
这就是我在谈论徽章通知时所指的:
有没有人知道在Windows上的任务栏中显示徽章通知或更改图标的任何变通方法?关于这个问题的评论建议使用ITaskbarList API,但它似乎是C++库的一部分,我不知道如何在MAUI应用程序中从C#调用它。
1条答案
按热度按时间blmhpbnm1#
我想出了一个解决方案,为任何感兴趣的人创建一个忙碌的红点徽章通知:
基于这两篇文章,我创建了一个类来 Package ITaskbarList API方法:
Windows 7 progress bar in taskbar in C#?
Windows 7 Taskbar SetOverlayIcon from WPF app doesn't work
然后我创建了一个24 x24的png图标,中间有一个大红点,我将它作为嵌入式资源导入到Platforms/Windows/Resources中。
现在剩下要解决的就是得到所有这些指针。
要清除它,您可以将其设置为IntPtr.Zero:
请注意,您还应该做清理工作,并调用DestoryIcon,如文档here所示。