共用方式為


PrivateExtractIconsA 函式 (winuser.h)

[此函式不適用於一般用途。 在後續版本的 Windows 中,可能會變更或無法使用。

建立從指定檔案擷取之圖示的控制碼陣列。

語法

UINT PrivateExtractIconsA(
  [in]            LPCSTR szFileName,
  [in]            int    nIconIndex,
  [in]            int    cxIcon,
  [in]            int    cyIcon,
  [out, optional] HICON  *phicon,
  [out, optional] UINT   *piconid,
  [in]            UINT   nIcons,
  [in]            UINT   flags
);

參數

[in] szFileName

類型: LPCTSTR

要從中擷取圖示 () 檔案的路徑和名稱。

[in] nIconIndex

類型: int

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

[in] cxIcon

類型: int

想要的水準圖示大小。 請參閱<備註>。

[in] cyIcon

類型: int

想要的垂直圖示大小。 請參閱<備註>。

[out, optional] phicon

類型: HICON*

圖示控制碼傳回陣列的指標。

[out, optional] piconid

類型: UINT*

最適合目前顯示裝置之圖示的傳回資源識別碼指標。 如果此格式無法使用識別碼,則傳回的識別碼會0xFFFFFFFF。 如果無法取得識別碼,則傳回的識別碼為 0。

[in] nIcons

類型: UINT

要從檔案中擷取的圖示數目。 只有在從 .exe 和 .dll 檔案擷取時,這個參數才有效。

[in] flags

類型: UINT

指定控制此函式的旗標。 這些旗標是 LoadImage 函式所使用的LR_* 旗標。

傳回值

類型: UINT

如果 phicon 參數為 Null 且此函式成功,則傳回值會是檔案中的圖示數目。 如果函式失敗,則傳回值為 0。

如果 phicon 參數不是 Null ,且函式成功,則傳回值會是擷取的圖示數目。 否則,如果找不到檔案,則會0xFFFFFFFF傳回值。

備註

此函式會從可執行檔 (.exe) 、DLL (.dll) 、圖示 (.ico) 、資料指標 (.cur) 、動畫游標 (.ani) 和點陣圖 (.bmp) 檔案中擷取。 也支援從 Windows 3.x 16 位可執行檔 (.exe 或 .dll) 擷取。

cxIconcyIcon參數會指定要擷取的圖示大小。 將第一個大小放在 參數的 LOWORD 和 HIWORD 中的第二個大小,即可擷取兩個大小。 例如, MAKELONG(24, 48) 針對 cxIcon 和 cyIcon 參數,都會擷取 24 和 48 大小的圖示。

您必須呼叫DestroyIcon函式,終結PrivateExtractIcons所擷取的所有圖示。

在 Windows XP Service Pack 1 (SP1) 和 Windows Server 2003 之前,SDK 標頭和程式庫中未包含此函式。 如果您沒有標頭檔並匯入此函式的程式庫,您可以使用 LoadLibraryGetProcAddress呼叫函式。

注意

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

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-misc-l1-5-1 (Windows 10 10.0.14393 版)

另請參閱

概念

DestroyIcon

ExtractIcon

ExtractIconEx

圖示

參考