指定されたファイル(EXE、DLL)から、 アイコンのハンドルを取得
構文 HICON ExtractIcon(HINSTANCE iHandle,char* pFileName,int Index)
引数説明 HINSTANCE iHandle:関数を呼び出すアプリケーションのインスタンスハンドル
char *pFileName:ファイル名の文字列を指すポインタを指定します。
int Index:取得するアイコンのインデックスを指定(0から始まる)します。-1を指定した場合、ファイルにあるアイコンの総数を返します。
戻り値 正常に終了した場合は、 アイコンのハンドルを返します。
実行可能ファイル、 ダイナミック・リンク・ライブラリ、 アイコン・ファイルのいずれでもない場合は、 1を返します。
ファイルにアイコンが無い場合はNULLを返します。
<例>
char fname[]="C:\Test.exe";
int count=(int)ExtractIcon(HInstance,fname,-1);//指定ファイルに含まれるアイコンの総数を取得

HDC dc=GetDC(wHandle);//アイコンを表示するウインドウのデバイス コンテキストを取得します。
//アイコンの数だけ指定したウインドウに描画します。
for(int i=0;i<count;i++)
{
 HICON icon=ExtractIcon(HInstance,fname,i);//変数iで指定位置のアイコンのハンドルを取得
 DrawIcon(dc,i*32,0,icon);
}
ReleaseDC(wHandle,dc);//描画が終わったらデバイス コンテキストを解放します。

HInstance 変数は、Windows によってアプリケーションまたはライブラリに提供されるハンドルです。(代わりにNULLを指定しても取得出来ます。)