共用方式為


SHDefExtractIconA 函式 (shlobj_core.h)

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

語法

SHSTDAPI SHDefExtractIconA(
  [in]            LPCSTR 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 的指標,當此函式成功傳回時,會接收 nIconSizeLO WORD 中所指定大型圖示版本的句柄。 這個值可以 NULL

[out, optional] phiconSmall

類型:HICON*

HICON 的指標,當此函式成功傳回時,會接收 HI WORD 中所指定小型圖示版本的句柄,nIconSize

nIconSize

類型:UINT

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

傳回值

類型:HRESULT

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

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

言論

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

注意

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

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 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 中引進)