SHExtractIconsW 函式

建立句柄陣列,以從指定的檔案擷取的圖示。

注意

此函式可透過 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)。

cxIconcyIcon 參數會指定要擷取的圖示大小。 透過每個參數可以擷取兩個大小,方法是在其LOWORD和HIWORD之間分割值。 將第一個所需的大小放在 參數的LOWORD中,並將第二個大小放在HIWORD中。 例如,cxIconcyIcon 的 MAKELONG(24, 48) 會同時擷取 24 和 48 個大小的圖示。

呼叫程式負責藉由呼叫 DestroyIcon 函式來終結透過此函式擷取的所有圖示。

SHExtractIconsW 不是依名稱匯出,也不會在公用頭檔中宣告。 若要使用它,您必須宣告相符的原型,並使用 GetProcAddress 向 Shell32.dll 要求函式指標,以便用來呼叫此函式。

需求

需求
最低支援的用戶端
Windows 2000 Professional、Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
DLL
Shell32.dll (5.0 版或更新版本)
Unicode 和 ANSI 名稱
SHExtractIconsW (Unicode)