指定された実行可能ファイル、ダイナミックリンクライブラリ(DLL)、またはアイコンファイルから、そのファイルが持つアイコンのハンドルを取得します。
HICON ExtractIconA( HINSTANCE hInst, // インスタンス PCTSTR pszFileName, // ファイル名 UINT nIconIndex // アイコンインデックス );
SHELL32.DLL
呼び出し側アプリケーションのインスタンスハンドルを指定します。
ファイル名を表す文字列のアドレスを指定します。実行可能ファイル、 DLL 、アイコンファイルのいずれかのファイル名を指定できます。
取得するアイコンの 0 から始まるインデッ クスを指定します。例えば、このパラメータに 0 を指定した場合は最初のアイコン が取得されます。
-1 を指定すると、戻り値として、指定されたファイルが持っているアイコンの総数が返ります。指定されたファイルが実行可能ファイルまたは DLL の場合は、 RT_GROUP_ICON リソースの数が返ります。指定されたファイルが .ICO ファイルの場合は、 1 が返ります。
Windows 95 / NT4.0 以降: このパラメータに -1 以外の負の数を指定した場合は、リソース ID がこのパラメータの絶対値であるアイコンが取得されます。例えば、 -3 を指定した場合は、リソース ID が 3 であるアイコンが取得されます。リソース ID が 1 であるアイコンを取得するには ExtractIconEx 関数を使用します。
関数が成功すると、取得されたアイコンのハンドルが返ります。
nIconIndex パラメータに -1 を指定した場合は、指定されたファイルが持つアイコンの総数が返ります。
指定されたファイルが実行可能ファイル、 DLL 、アイコンファイルのいずれでもなかった場合には 1 が返ります。
指定されたファイル内にアイコンが見つからなかった場合には、 0 (NULL) が返ります。
アイコンが不要になったら、 DestroyIcon 関数を呼び出してアイコンハンドルを破棄しなければなりません。
Windows 95 以降 / Windows NT 3.1 以降