ExtractIcon(A)

指定された実行可能ファイル、ダイナミックリンクライブラリ(DLL)、またはアイコンファイルから、そのファイルが持つアイコンのハンドルを取得します。

HICON ExtractIconA(
    HINSTANCE hInst,       // インスタンス
    PCTSTR    pszFileName, // ファイル名
    UINT      nIconIndex   // アイコンインデックス
);

SHELL32.DLL

引数

hInst

呼び出し側アプリケーションのインスタンスハンドルを指定します。

pszFileName

ファイル名を表す文字列のアドレスを指定します。実行可能ファイル、 DLL 、アイコンファイルのいずれかのファイル名を指定できます。

nIconIndex

取得するアイコンの 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 以降