ExtractIconExW

ExtractIconEx 関数は、指定された実行ファイル、DLL、またはアイコンファイルから抽出された大または小アイコンへのハンドルの配列を作成する。(Unicode)

ExtractIconExW lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons

lpszFile : [wstr] 型: LPCTSTR アイコンを抽出する実行ファイル、DLL、またはアイコンファイルの名前を指定するヌル終端文字列へのポインタ。
nIconIndex : [int] 型: int 抽出する最初のアイコンの 0 起点インデックスを指定する。たとえばこの値が 0 であれば、関数は指定ファイル内の最初のアイコンを抽出する。
phiconLarge : [intptr] 型: HICON* ファイルから抽出した大アイコンへのハンドルを受け取るアイコンハンドル配列へのポインタ。このパラメータが NULL の場合、ファイルから大アイコンは抽出されない。
phiconSmall : [intptr] 型: HICON* ファイルから抽出した小アイコンへのハンドルを受け取るアイコンハンドル配列へのポインタ。このパラメータが NULL の場合、ファイルから小アイコンは抽出されない。
nIcons : [int] 型: UINT ファイルから抽出するアイコンの数。

(プラグイン / モジュール : shell32.dll)

解説

ExtractIconEx
関数は、指定された実行ファイル、DLL、またはアイコンファイルから抽出された大または小アイコンへのハンドルの配列を作成する。(Unicode)

[戻り値]
型: **UINT** *nIconIndex* パラメータが -1 で、*phiconLarge* と *phiconSmall*
の両方が **NULL** の場合、戻り値は指定ファイル内のアイコン数となる。*nIconIndex* パラメータが -1
以外の値で、*phiconLarge* または *phiconSmall* のいずれかが **NULL**
でない場合、戻り値はファイルから正常に抽出されたアイコンの数となる。> [!NOTE] > 関数がエラーに遭遇した場合は
**UINT_MAX**
を返す。この場合、[GetLastError](../errhandlingapi/nf-errhandlingapi-getlasterror.md)
を呼び出してエラーコードを取得できる。たとえば *lpszFile* で指定されたファイルが見つからない場合に *nIconIndex*
が -1 以外で *phiconLarge* または *phiconSmall* のいずれかが **NULL** でないとき、この関数は
**UINT_MAX** を返す。この場合 **GetLastError** は
**ERROR_FILE_NOT_FOUND**(2)を返す。

[備考]
ExtractIconEx で抽出したアイコンは、不要になった時点ですべて DestroyIcon
関数を呼び出して破棄しなければならない。大アイコンと小アイコンの寸法を取得するには、SM_CXICON、SM_CYICON、SM_CXSMICON、SM_CYSMICON
フラグとともにこの関数を使用する。
> [!NOTE] > shellapi.h ヘッダは UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または
Unicode 版を自動的に選択するエイリアスとして ExtractIconEx
を定義している。エンコーディング非依存のエイリアスとエンコーディング依存のコードを混在させるとミスマッチが生じ、コンパイルエラーや実行時エラーを引き起こす可能性がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールshell32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の shell32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_shell32_gen2.hs