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)。
cxIcon 和 cyIcon 參數會指定要擷取的圖示大小。 您可以將第一個大小放在 參數的LOWORD中,並將第二個大小放在HIWORD中,以擷取兩個大小。
例如,MAKELONG(24, 48)
cxIcon 和 cyIcon 參數都會擷取 24 和 48 個大小圖示。
您必須呼叫 DestroyIcon 函式,以終結 PrivateExtractIcons 擷取的所有圖示。
在 Windows XP Service Pack 1(SP1) 和 Windows Server 2003 之前,SDK 標頭和連結庫並未包含此函式。 如果您沒有此函式的頭文件並匯入連結庫,您可以使用 LoadLibrary 和 GetProcAddress呼叫函式。
注意
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 中引進) |
另請參閱
概念
參考