SHDefExtractIconW 函式 (shlobj_core.h)

提供從檔案擷取圖標的默認處理程式。

語法

SHSTDAPI SHDefExtractIconW(
  [in]            LPCWSTR pszIconFile,
                  int     iIndex,
  [in]            UINT    uFlags,
  [out, optional] HICON   *phiconLarge,
  [out, optional] HICON   *phiconSmall,
                  UINT    nIconSize
);

參數

[in] pszIconFile

類型: LPCTSTR

Null 終止緩衝區的指標,其中包含從中擷取圖示之檔案的路徑和名稱。

iIndex

類型: int

在 pszIconFile 中名為 的檔案中圖示的位置。 如果這是正數,則會參考檔案中圖示以零起始的位置。 例如,0 是指資源檔中的第1個圖示,而2則是指第3個圖示。 如果這是負數,則會參考圖示的資源標識符。

[in] uFlags

類型: UINT

控制圖示擷取的旗標。

GIL_SIMULATEDOC

重迭預設文件圖示上的擷取圖示,以建立最終圖示。 找不到或擷取任何適當的圖示時,可以使用此圖示。

[out, optional] phiconLarge

類型: HICON*

HICON 的指標,當此函式成功傳回時,會收到 nIconSize之 LOWORD 中指定的大型圖示版本的句柄。 此值可以是 NULL

[out, optional] phiconSmall

類型: HICON*

HICON 的指標,當此函式成功傳回時,會收到 nIconSize之 HIWORD 中指定的小型圖示版本的句柄。

nIconSize

類型: UINT

值,其中包含 LOWORD 中的大型圖示大小,以及 HIWORD 中的小型圖示大小。 大小是以像素為單位。 傳遞 0 以指定預設的大型和小型大小。

傳回值

類型: HRESULT

此函式可以傳回下列其中一個值。

傳回碼 描述
S_OK
成功。
S_FALSE
要求的圖示不存在。
E_FAIL
無法存取檔案,或正在透過慢速連結存取。

備註

當不再需要圖示資源時,呼叫者必須負責釋放透過此函式建立的圖示資源。 這可以透過 DestroyIcon 函式來完成。

注意

shlobj_core.h 標頭會將SHDefExtractIcon定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 shlobj_core.h (包含 Shlobj.h、Shlobj_core.h)
程式庫 Shell32.lib
Dll Shell32.dll (6.0 版或更新版本)
API 集合 ext-ms-win-shell-shell32-l1-2-1 (於 Windows 10 10.0.10240 版)