WinForms - 在app启动器图标中显示通知计数

时间:2014-08-22 11:54:35

标签: winforms count notifications icons app-launcher

在我的WinForms应用程序中,我想在应用启动器图标中显示通知计数。

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

我相信this就是你所要求的,不幸的是它在WPF中。 Winforms没有提供这样做的方法。您需要手动进行P / Invoke。

下载Windows 7 API Code Pack - Shell 并使用以下内容。

private void SetTaskBarOverlay()
{
    string notificationCount = "3"; //To do: Add this as a parameter

    var bmp = new Bitmap(32, 32);
    using (Graphics g = Graphics.FromImage(bmp))
    {
        g.FillEllipse(Brushes.Blue, new Rectangle(Point.Empty, bmp.Size));
        g.DrawString(notificationCount, new Font("Sans serif", 25, GraphicsUnit.Point),
            Brushes.White, new Rectangle(Point.Empty, bmp.Size));
    }

    var overlay = Icon.FromHandle(bmp.GetHicon());
    TaskbarManager.Instance.SetOverlayIcon(overlay, "");
}

private void RemoveTaskBarOverlay()
{
    TaskbarManager.Instance.SetOverlayIcon(null, "");
}

您可以更改绘画代码以达到预期效果。