ExtractIconExW 関数 (shellapi.h)
ExtractIconEx 関数は、指定された実行可能ファイル、DLL、またはアイコン ファイルから抽出された大小のアイコンへのハンドルの配列を作成します。
構文
UINT ExtractIconExW(
[in] LPCWSTR 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 ヘッダーは ExtractIconEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shellapi.h |
[DLL] | Shell32.dll |
API セット | ext-ms-win-shell-shell32-l1-2-1 (Windows 10 バージョン 10.0.10240 で導入) |