> SHGetStockIconInfo APIを使うと、ハードディスクやプリンタなどの
> アイコンが取得できるようです。
> SHGetFileInfo APIでも十分に思えますが、ファイルに関する
> アイコン以外も取得できるようなので、結構、便利そう。
Vistaではよく使われることになると思われるシールドアイコンも
SIID_SHIELDの値で、定義されていますね。(当然かもしれんけど)
---
#include <shellapi.h>
// 小さいアイコンの取得
SHSTOCKICONINFO stockIconInfo = { sizeof(SHSTOCKICONINFO) };
::SHGetStockIconInfo(SIID_SHIELD, SHGSI_ICON | SHGSI_SMALLICON, &sii);
HICON hIconShield = stockIconInfo.hIcon;
// 大きいアイコンの取得
SHSTOCKICONINFO stockIconInfo = { sizeof(SHSTOCKICONINFO) };
::SHGetStockIconInfo(SIID_SHIELD, SHGSI_ICON | SHGSI_LARGEICON, &sii);
HICON hIconShield = stockIconInfo.hIcon;
// 任意のサイズのアイコンの取得
SHSTOCKICONINFO stockIconInfo = { sizeof(SHSTOCKICONINFO) };
::SHGetStockIconInfo(SIID_SHIELD, SHGSI_ICONLOCATION, &sii);
HICON hIconShield = ::ExtractIconEx(stockIconInfo, ...);
---
■色々な種類のアイコンの取得 - Windows Vista - 社本@ワック
http://www.ailight.jp/blog/sha256/archive/2006/12/18/13456.aspx■シールドアイコン付きボタン - Windows Vista - 社本@ワック
http://www.ailight.jp/blog/sha256/archive/2006/08/25/11947.aspx