共用方式為


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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winuser.h
連結庫 User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-misc-l1-5-1 (在 Windows 10 版本 10.0.14393 中引進)

另請參閱

概念

DestroyIcon

ExtractIcon

ExtractIconEx

圖示

參考