我一直在想,每当您调用 ShowBalloonTip
NotifyIcon
的方法类,你会得到一个像这样的气球工具提示:
图 1:标准气球工具提示
某些应用程序和 Microsoft 产品能够显示的不仅仅是那些“简单”的气球提示。
以下是一些示例:
图 2:Windows 更新气球工具提示
(来源:microsoft.com)
图 3:硬件驱动安装气球工具提示
图4:硬件移除工具提示(程序:USB安全移除)
仔细观察图 2、图 3 和图 4 会发现它们不是标准的气球工具提示!
Fig2 具有不同的形状,可能是由于设置了 Region
属性。它还有一个比标准图标大得多的自定义图标 ToolTipIcon .
Fig3 使用标准形状(我认为)但它有一个自定义图标,不用说比默认图标大 ToolTipIcon尺寸。
Fig4 使用标准 ToolTipIcon但它有不同的形状。
我的问题是如何创建在 .NET 通知区域中看到的任何“丰富”气球工具提示?我可以处理 WinAPI 以及它可以产生必要的输出。
最佳答案
您必须使用 Win32 函数 Shell_NotifyIcon .您可以设置 NOTIFYICONDATA 的 dwInfoFlags 成员结构到 NIIF_USER 以便为气球工具提示使用自定义图标。
在 Windows XP Service Pack 2 和更高版本上,您可以使用 hIcon 成员指定自定义图标。
在 Windows Vista 和更高版本上,NOTIFYICONDATA 结构包含附加成员 hBalloonIcon。如果您已将 cbSize 成员设置为扩展 NOTIFYICONDATA 结构的正确大小,则可以使用此成员指定自定义图标。
关于.net - 如何在通知区域创建丰富的工具提示和丰富的气球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8836463/