SHIELD 32518

WindowsVistaから登場したShieldアイコン。
LoadIcon(NULL, IDI_SHIELD)
で取れるんだけど…この場合 32×32 のアイコンが取得される。
で、実際のリソースは user32.dll の ID:106 で保存されているので、


HMODULE hUser32 = ::LoadLibrary("user32");
HICON hIcon = reinterpret_cast(::LoadImage(hUser32, MAKEINTRESOURCE(106), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR));

で 16×16 のアイコンを取得できる。
ちなみに、
HICON hIcon = reinterpret_cast(::LoadImage(NULL, OIC_SHIELD, IMAGE_ICON, 0, 0, LR_SHARE));
とすると、 LoadIcon(NULL, IDI_SHIELD) と同じ効果になる。
IDI_SHIELDやOIC_SHIELDはWindows SDK 6.0のWinUser.hに宣言されている。
ID値は 32518 。

コメントを残す

メールアドレスが公開されることはありません。