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
此函式可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
要求的圖示不存在。 |
|
無法存取檔案,或正在透過慢速連結存取。 |
備註
當不再需要圖示資源時,呼叫者必須負責釋放透過此函式建立的圖示資源。 這可以透過 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 版) |