建立句柄陣列,以從指定的檔案擷取的圖示。
注意
此函式可透過 Windows XP Service Pack 2 (SP2) 取得。 後續版本可能會變更或無法使用。 請改用 SHDefExtractIcon 函式。
語法
UINT SHExtractIconsW(
_In_ LPCWSTR pszFileName,
_In_ int nIconIndex,
_In_ int cxIcon,
_In_ int cyIcon,
_Out_ HICON *phIcon,
_Out_ UINT *pIconId,
_In_ UINT nIcons,
_In_ UINT flags
);
參數
-
pszFileName [in]
-
類型: LPCWSTR
要從中擷取圖示之檔名的指標。
-
nIconIndex [in]
-
類型: int
要從 pszFileName 中名為 的資源擷取之第一個圖標的索引。
-
cxIcon [in]
-
類型: int
圖示所需的寬度。 請參閱<備註>。
-
cyIcon [in]
-
類型: int
圖示所需的高度。 請參閱<備註>。
-
phIcon [out]
-
類型: HICON*
當此函式傳回時,會包含圖示句柄陣列的指標。
-
pIconId [out]
-
類型: UINT*
當此函式傳回時,會包含最適合目前顯示裝置之擷取圖示之資源標識碼的指標。 如果此格式沒有可用的標識碼,則會包含0xFFFFFFFF。 如果沒有其他任何原因可以取得標識符,則傳回零。
-
nIcons [in]
-
類型: UINT
要從 pszFileName 中名為 的資源擷取的圖示數目。 只有當資源是 .exe 或 .dll 檔案時,此參數才有效。
-
旗標 [in]
-
類型: UINT
控制此函式的旗標。 如需可能的值,請參閱LoadImage函式的 fuLoad 參數。
傳回值
類型: UINT
如果成功,則為非零值;否則為零。
備註
SHExtractIconsW 會從下列檔類型擷取。
- 可執行檔 (.exe)
- DLL (.dll)
- 圖示 (.ico)
- Cursor (.cur)
- 動畫游標 (.ani)
- 點陣圖 (.bmp)
從 Windows 3 擷取。也支援 x 16 位可執行檔 (.exe 或 .dll)。
cxIcon 和 cyIcon 參數會指定要擷取的圖示大小。 透過每個參數可以擷取兩個大小,方法是在其LOWORD和HIWORD之間分割值。 將第一個所需的大小放在 參數的LOWORD中,並將第二個大小放在HIWORD中。 例如,cxIcon 和 cyIcon 的 MAKELONG(24, 48) 會同時擷取 24 和 48 個大小的圖示。
呼叫程式負責藉由呼叫 DestroyIcon 函式來終結透過此函式擷取的所有圖示。
SHExtractIconsW 不是依名稱匯出,也不會在公用頭檔中宣告。 若要使用它,您必須宣告相符的原型,並使用 GetProcAddress 向 Shell32.dll 要求函式指標,以便用來呼叫此函式。
需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 2003 [僅限傳統型應用程式] |
| DLL |
|
| Unicode 和 ANSI 名稱 |
SHExtractIconsW (Unicode) |