次の方法で共有


ExtractIconExA 関数 (shellapi.h)

ExtractIconEx 関数は、指定された実行可能ファイル、DLL、またはアイコン ファイルから抽出された大きいアイコンまたは小さいアイコンへのハンドルの配列を作成します。

構文

UINT ExtractIconExA(
  [in]  LPCSTR lpszFile,
  [in]  int    nIconIndex,
  [out] HICON  *phiconLarge,
  [out] HICON  *phiconSmall,
        UINT   nIcons
);

パラメーター

[in] lpszFile

型: LPCTSTR

アイコンを抽出する実行可能ファイル、DLL、またはアイコン ファイルの名前を指定する null で終わる文字列へのポインター。

[in] nIconIndex

型: int

抽出する最初のアイコンの 0 から始まるインデックスを指定します。 たとえば、この値が 0 の場合、関数は指定したファイルの最初のアイコンを抽出します。

この値が –1 で、phiconLarge 、phiconSmall がどちらも NULL場合、関数は指定されたファイル内のアイコンの合計数を返します。 ファイルが実行可能ファイルまたは DLL の場合、戻り値はRT_GROUP_ICONリソースの数です。 ファイルが.ico ファイルの場合、戻り値は 1 です。

この値が負の数で、phiconLarge または phiconSmall が NULLされていない場合、関数は、リソース識別子が nIconIndexの絶対値と等しいアイコン 抽出することから始まります。 たとえば、-3 を使用して、リソース識別子が 3 のアイコンを抽出します。

[out] phiconLarge

型: HICON*

ファイルから抽出された大きなアイコンへのハンドルを受け取るアイコン ハンドルの配列へのポインター。 このパラメーターが NULL場合、ファイルから大きなアイコンは抽出されません。

[out] phiconSmall

型: HICON*

ファイルから抽出された小さなアイコンへのハンドルを受け取るアイコン ハンドルの配列へのポインター。 このパラメーターが NULL場合、ファイルから小さなアイコンは抽出されません。

nIcons

型: UINT

ファイルから抽出するアイコンの数。

戻り値

型: UINT

nIconIndex パラメーターが -1 され、phiconLarge パラメーターと phiconSmall パラメーターの両方が NULL場合、戻り値は指定されたファイルに含まれるアイコンの数です。

nIconIndex パラメーターが -1 以外の値であり、phiconLarge または phiconSmall NULLされていない場合、戻り値はファイルから正常に抽出されたアイコンの数です。

手記

関数でエラーが発生した場合は、UINT_MAXを返します。 この場合は、GetLastError を呼び出してエラー コードを取得できます。 たとえば、この関数は、nIconIndex パラメーターが -1 以外の値であり、phiconLarge または phiconSmall が NULLでないときに、lpszFile で指定されたファイルが見 つからない場合 UINT_MAX を返します。 この場合、GetLastError ERROR_FILE_NOT_FOUND (2) を返します。

備考

不要になったら、DestroyIcon 関数を呼び出して、ExtractIconEx によって抽出されたすべてのアイコンを破棄する必要があります。

大小のアイコンの寸法を取得するには、この関数をSM_CXICON、SM_CYICON、SM_CXSMICON、およびSM_CYSMICONフラグと共に使用します。

手記

shellapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ExtractIconEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shellapi.h
DLL Shell32.dll
API セットの ext-ms-win-shell-shell32-l1-2-1 (Windows 10 バージョン 10.0.10240 で導入)

関連項目

ExtractAssociatedIcon の

ExtractAssociatedIconEx の

ExtractIcon