指定したファイルから抽出されたアイコンへのハンドルの配列を作成します。
Note
この関数は、Windows XP Service Pack 2 (SP2) 経由で使用できます。 それより後のバージョンでは、変更されるか、使用できなくなる場合があります。 代わりに SHDefExtractIcon 関数を使用してください。
構文
UINT SHExtractIconsW(
_In_ LPCWSTR pszFileName,
_In_ int nIconIndex,
_In_ int cxIcon,
_In_ int cyIcon,
_Out_ HICON *phIcon,
_Out_ UINT *pIconId,
_In_ UINT nIcons,
_In_ UINT flags
);
パラメーター
-
pszFileName [in]
-
型: LPCWSTR
アイコンの抽出元となるファイル名へのポインター。
-
nIconIndex [in]
-
型: int
pszFileName で指定されているリソースから抽出する最初のアイコンのインデックス。
-
cxIcon [in]
-
型: int
希望するアイコンの幅。 「解説」を参照してください。
-
cyIcon [in]
-
型: int
希望するアイコンの高さ。 「解説」を参照してください。
-
phIcon [out]
-
型: HICON*
この関数が戻ると、アイコン ハンドルの配列へのポインターが含まれます。
-
pIconId [out]
-
型: UINT*
この関数から制御が戻ると、現在のディスプレイ デバイスに最適な抽出されたアイコンのリソース識別子へのポインターが含まれます。 この形式で使用できる識別子がない場合は、0xFFFFFFFF が含まれます。 その他の理由で識別子を取得できない場合は、0 が返されます。
-
nIcons [in]
-
型: UINT
pszFileName で指定されたリソースから抽出するアイコンの数。 このパラメーターは、リソースが .exe または .dll ファイルである場合にのみ有効です。
-
flags [in]
-
型: UINT
この関数を制御するフラグ。 指定できる値については、LoadImage 関数の fuLoad パラメーターを参照してください。
戻り値
型: UINT
成功した場合は 0 以外の値。それ以外の場合は 0。
解説
SHExtractIconsW は、次のファイルの種類から抽出します。
- 実行可能ファイル (.exe)
- DLL (.dll)
- アイコン (.ico)
- カーソル (.cur)
- アニメーション カーソル (.ani)
- ビットマップ (.bmp)
Windows 3.x の 16 ビット実行可能ファイル (.exe または .dll) からの抽出もサポートされています。
cxIcon および cyIcon パラメーターは、抽出するアイコンのサイズを指定します。 LOWORD と HIWORD の間で値を分割することで、各パラメーターを使用して 2 つのサイズを抽出できます。 パラメーターの LOWORD に最初の目的のサイズを、HIWORD に 2 番目のサイズを配置します。 たとえば、cxIcon と cyIcon の両方の MAKELONG(24, 48) は、サイズが 24 と 48 の両方のアイコンを抽出します。
呼び出し元のプロセスは、この関数によって抽出されたすべてのアイコンを破棄する役割を担います。そのために、DestroyIcon 関数を呼び出します。
SHExtractIconsW は名前によってエクスポートされず、パブリック ヘッダー ファイル内に宣言されません。 これを使用するには、一致するプロトタイプを宣言し、GetProcAddress を使用して、Shell32.dll にある、この関数を呼び出すために使用できる関数ポインターを要求する必要があります。
要件
| 要件 | Value |
|---|---|
| サポートされている最小のクライアント |
Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
| サポートされている最小のサーバー |
Windows Server 2003 (デスクトップ アプリのみ) |
| [DLL] |
|
| Unicode 名と ANSI 名 |
SHExtractIconsW (Unicode) |