ExtractAssociatedIconW

ファイル内にリソースとして格納されたアイコン、またはファイルに関連付けられた実行ファイル内に格納されたアイコンへのハンドルを取得する。(Unicode)

ExtractAssociatedIconW hInst, pszIconPath, piIcon

hInst : [intptr] 型: HINSTANCE 呼び出し側アプリケーションのインスタンスへのハンドル。
pszIconPath : [wstr] 型: LPTSTR 文字列へのポインタ。入力時にはアイコンを含むファイルの完全なパスとファイル名を指定する。関数はそのファイル、またはそのファイルに関連付けられた実行ファイルからアイコンハンドルを抽出する。
piIcon : [var] 型: LPWORD WORD 値へのポインタ。入力時にはハンドルを取得するアイコンのインデックスを指定する。

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

解説

ファイル内にリソースとして格納されたアイコン、またはファイルに関連付けられた実行ファイル内に格納されたアイコンへのハンドルを取得する。(Unicode)

[戻り値]
型: HICON
関数が成功した場合、戻り値はアイコンハンドルである。アイコンが関連付けられた実行ファイルから抽出された場合、関数は実行ファイルの完全なパスとファイル名を
lpIconPath が指す文字列に格納し、アイコン識別子を lpiIcon が指す WORD に格納する。
関数が失敗した場合、戻り値は NULL である。

[備考]
ExtractAssociatedIcon が返したアイコンハンドルは、不要になった時点で呼び出し側が DestroyIcon
関数を呼び出して解放する責任がある。ExtractAssociatedIcon 関数はまず lpIconPath
で指定されたファイル内でインデックス指定されたアイコンを探す。そのファイルからアイコンハンドルを取得できず、かつそのファイルに関連付けられた実行ファイルがある場合、その実行ファイル内でアイコンを探す。実行ファイルとの関連付けはファイル名の拡張子に基づいており、レジストリのユーザ単位部分に格納されている。
> [!NOTE] > shellapi.h ヘッダは UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または
Unicode 版を自動的に選択するエイリアスとして ExtractAssociatedIcon
を定義している。エンコーディング非依存のエイリアスとエンコーディング依存のコードを混在させるとミスマッチが生じ、コンパイルエラーや実行時エラーを引き起こす可能性がある。詳細は
[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