次の方法で共有


ExtractIconA 関数 (shellapi.h)

指定した実行可能ファイル、DLL、またはアイコン ファイルからアイコンへのハンドルを取得します。

大きいアイコンまたは小さいアイコンのハンドルの配列を取得するには、ExtractIconEx 関数を使用します。

構文

HICON ExtractIconA(
  [in] HINSTANCE hInst,
  [in] LPCSTR    pszExeFileName,
       UINT      nIconIndex
);

パラメーター

[in] hInst

型: HINSTANCE

関数を呼び出すアプリケーションのインスタンスを処理します。

[in] pszExeFileName

型: LPCTSTR

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

nIconIndex

型: UINT

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

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

この値が -1 以外の負の数の場合、この関数は、リソース識別子が nIconIndexの絶対値と等しい指定したファイル内のアイコン ハンドルを返します。 たとえば、–3 を使用して、リソース識別子が 3 のアイコンを抽出する必要があります。 リソース識別子が 1 のアイコンを抽出するには、ExtractIconEx 関数を使用します。

戻り値

型: HICON

戻り値はアイコンのハンドルです。 指定されたファイルが実行可能ファイル、DLL、またはアイコン ファイルでない場合、戻り値は 1 です。 ファイルにアイコンが見つからなかった場合、戻り値は NULL

備考

不要になったら、DestroyIcon 関数を呼び出して、ExtractIcon 返されるアイコン ハンドルを破棄する必要があります。

手記

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

必要条件

要件 価値
サポートされる最小クライアント 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 の

ExtractIconEx を する