如何将类似 Skype 的通知计数添加到 C# 程序图标

How add a skype-like notification count to a c# program icon

我正在做一个项目,我们想像 Skype 那样添加通知计数。

windows 任务栏中的图标附近会弹出一个数字,表示用户收到了多少条消息。 这是我们想要达到的结果:http://it.tinypic.com/r/2guclkk/8

在 Internet 上四处寻找没有得到任何结果,那么有没有 API 我可以在 C# 中使用它来实现这个目标?

如果你想在任务栏中使用它,你可能想使用覆盖图标,如果你使用的是 WPF,请在此处进行描述:How to add dynamic text as Taskbar Icon overlay? 如果您使用的是表单,您可能希望使用此:https://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo.overlay%28v=vs.100%29.aspx

如果你想在系统托盘中做同样的事情,这是一个口是心非的问题:How can I overlay system-tray icon ? WPF,答案可能是在运行时将所需的数字绘制到图标上并更改系统托盘图标。

我使用 WindowsAPICodePack 解决了:Windows API Code Pack: Where is it?

方法是SetIconOverlay():

public void SetOverlayIcon(IntPtr windowHandle, Icon icon, string accessibilityText);