共用方式為


ITaskbarList3::SetOverlayIcon 方法 (shobjidl_core.h)

將重迭套用至任務欄按鈕,以指出應用程式狀態或通知給使用者。

語法

HRESULT SetOverlayIcon(
  [in] HWND    hwnd,
  [in] HICON   hIcon,
  [in] LPCWSTR pszDescription
);

參數

[in] hwnd

類型: HWND

視窗的句柄,其相關聯的任務欄按鈕會收到重疊。 此句柄必須屬於與按鈕的應用程式相關聯的呼叫進程,而且必須是有效的 HWND ,否則會忽略呼叫。

[in] hIcon

類型: HICON

要作為重疊使用的圖示句柄。 這應該是小型圖示,以 96 dpi 測量 16x16 圖元。 如果重迭圖示已套用至任務欄按鈕,則會取代該現有的重疊。

此值可以是 NULLNULL 值的處理方式取決於任務列按鈕是否代表單一視窗或一組視窗。

  • 如果任務列按鈕代表單一視窗,則會從顯示中移除重迭圖示。
  • 如果任務欄按鈕代表一組視窗,而且先前的重疊仍然可用, (早於目前的重疊收到,但尚未由 NULL 值釋放) ,則會顯示先前的重疊來取代目前的重疊。

當不再需要時,呼叫應用程式會負責釋出 hIcon 。 這通常可以在您呼叫 SetOverlayIcon 之後完成,因為任務欄會製作並使用它自己的圖示複本。

[in] pszDescription

類型: LPCWSTR

字串的指標,提供重疊所傳達資訊的替換文字版本,以供輔助功能之用。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

在 Windows 7 之前的 Windows 版本中,應用程式通常會在任務欄的通知區域中使用圖示,向使用者顯示應用程式狀態和通知。 Windows 7 工作列可讓應用程式透過任務列按鈕提供相同的使用者意見反應,將更多應用程式資訊集中在一個位置。 這些重疊類似於用於快捷方式圖示或安全性通知的現有重疊,顯示在按鈕右下角。

下圖顯示重疊 (小型綠色方塊,表示用戶狀態為「可用」) 套用至最右邊任務欄按鈕。

具有重疊的 Windows Messenger 任務欄按鈕螢幕快照,以指出 [可用狀態] 圖示重疊可作為狀態的內容通知,旨在否定個別通知區域狀態圖示的需求,以向使用者傳達該資訊。 應用程式設計工具必須在開發周期期間決定哪一種方法:圖示重疊或通知區域狀態圖示,最適合該應用程式。 重迭圖示旨在提供重要、長期狀態或通知,例如網路狀態、Messenger 狀態或新郵件。 它們不應該經常變更,也不應該以動畫顯示。

若要顯示重迭圖示,任務欄必須處於預設大型圖示模式。 如果任務列是透過 任務列和 [開始] 功能表屬性 來設定以顯示小型圖示,則無法套用重疊並忽略此方法的呼叫。

因為單一重迭會套用至任務欄按鈕,而不是套用至個別窗口縮圖,所以這是個別群組功能,而不是個別視窗。 重迭圖示的要求可以從任務列群組中的個別視窗接收,但不會排入佇列。 最後收到的重疊是顯示的重疊。 如果移除上次收到的重疊,只要它仍在使用中,就會還原所取代的重疊。 例如,Windows 1、2 和 3 會依序設定 A、B 和 C。因為最後收到重疊 C,所以會顯示在任務欄按鈕上。 視窗 2 會使用 NULL 值呼叫 SetOverlayIcon 來移除重疊 B。視窗 3 接著會執行相同的動作來移除重疊 C。因為視窗 1 的重疊 A 仍在作用中,所以該重疊接著會顯示在任務欄按鈕上。

如果 Windows 檔案總管意外關閉,還原 Windows 檔案總管時不會還原重疊。 應用程式應該等候接收 TaskbarButtonCreated 訊息,指出 Windows 檔案總管已重新啟動並重新建立任務欄按鈕,然後再次呼叫 SetOverlayIcon 以重新套用重疊。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包括 Shobjidl.h)
程式庫 Explorerframe.lib
Dll Explorerframe.dll

另請參閱

ITaskbarList

ITaskbarList2

ITaskbarList3

任務列延伸模組