指定された実行可能ファイル、ダイナミックリンクライブラリ(DLL)、またはアイコンファイルから、そのファイルが持つ大きいアイコンまたは小さいアイコンのハンドルを取得し、配列変数に格納します。
UINT ExtractIconExA( PCTSTR pszFile, // ファイル名 UINT nIconIndex, // アイコンのインデックス HICON *phIconLarge, // 大きなアイコンのハンドルを格納する変数 HICON *phIconSmall, // 小さなアイコンのハンドルを格納する変数 UINT nIcons // 取得するアイコンの数 );
SHELL32.DLL
ファイル名を表す文字列のアドレスを指定します。実行可能ファイル、 DLL 、アイコンファイルのいずれかのファイル名を指定できます。
取得するアイコンの 0 から始まるインデックスを指定します。例えば、このパラメータに 0 を指定した場合は最初のアイコンが取得されます。
このパラメータに -1 を指定し、 phIconLarge パラメータおよび phIconSmall パラメータにともに 0 (NULL) を指定すると、戻り値として、指定されたファイルが持っているアイコンの総数が返ります。指定されたファイルが実行可能ファイルまたは DLL の場合は、 RT_GROUP_ICON リソースの数が返ります。指定されたファイルが .ICO ファイルの場合は、 1 が返ります。
このパラメータに負の数を指定し、 phIconLarge パラメータもしくは phIconSmall パラメータの少なくとも一方に有効な変数のアドレスを指定した場合は、リソース ID がこのパラメータの絶対値であるアイコンが取得されます。例えば、 -3 を指定した場合は、リソース ID が 3 であるアイコンが取得されます。
大きなアイコンのハンドルを格納する配列変数のアドレスを指定します。大きなアイコンが必要ない場合には 0 (NULL) を指定します。
小さなアイコンのハンドルを格納する配列変数のアドレスを指定します。小さなアイコンが必要ない場合には 0 (NULL) を指定します。
取り出すアイコンの数を指定します。
nIconIndex パラメータに -1 、phIconLarge パラメータに 0 (NULL) 、phIconSmall パラメータに 0 (NULL) を指定した場合は、指定されたファイルが持つアイコンの総数が返ります。
それ以外の場合は、取得したアイコンの数が返ります。
アイコンが不要になったら、 DestroyIcon 関数を呼び出してアイコンハンドルを破棄しなければなりません。
Windows 95 以降 / Windows NT 4.0 以降