ExtractIconA 函式 (shellapi.h)

從指定的可執行檔、DLL 或圖示檔取得圖示的句柄。

若要擷取大型或小型圖示的句柄陣列,請使用 ExtractIconEx函 式。

語法

HICON ExtractIconA(
  [in] HINSTANCE hInst,
  [in] LPCSTR    pszExeFileName,
       UINT      nIconIndex
);

參數

[in] hInst

類型: HINSTANCE

呼叫函式之應用程式的實例句柄。

[in] pszExeFileName

類型: LPCTSTR

Null 終止字串的指標,指定可執行檔、DLL 或圖示檔的名稱。

nIconIndex

類型: UINT

指定要擷取之圖示之以零起始的索引。 例如,如果此值為 0,函式會傳回指定檔案中第一個圖示的句柄。

如果此值為 -1,函式會傳回指定檔案中的圖示總數。 如果檔案是可執行檔或 DLL,傳回值就是RT_GROUP_ICON資源的數目。 如果檔案是 。ICO 檔案,傳回值為 1。

如果此值為負數不等於 –1,則函式會傳回指定檔案中圖示的句柄,其資源標識符等於 nIconIndex 的絕對值。 例如,您應該使用 –3 來擷取其資源標識碼為 3 的圖示。 若要擷取其資源標識碼為1的圖示,請使用 ExtractIconEx函 式。

傳回值

類型: HICON

傳回值是圖示的句柄。 如果指定的檔案不是可執行檔、DLL 或圖示檔,則傳回值為 1。 如果檔案中找不到任何圖示,則傳回值為 NULL

備註

不再需要時,您必須呼叫 DestroyIcon 函式來終結 ExtractIcon 傳回的圖示句柄。

注意

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

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 shellapi.h
Dll Shell32.dll
API 集合 ext-ms-win-shell-shell32-l1-2-1 (在 Windows 10 10.0.10240 版中引進)

另請參閱

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIconEx