Dot-Net
如何在通知區域創建豐富的工具提示和豐富的氣球
我一直在想,每當你呼叫類的
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 結構的正確大小,則可以使用此成員指定自定義圖示。

圖 2:Windows 更新氣球工具提示
