ICONINFO iconInfo;
::GetIconInfo(m_hLiteIcon, &iconInfo);
BITMAP bitmap;
::GetObject(iconInfo.hbmColor, sizeof(BITMAP), &bitmap);
m_byIconW = (byte)bitmap.bmWidth;
m_byIconH = (byte)bitmap.bmHeight;
//千万别忘记删除啊
::DeleteObject(iconInfo.hbmColor);
::DeleteObject(iconInfo.hbmMask);
MSDN:
Remarks
GetIconInfo creates bitmaps for the hbmMask andhbmColor members of ICONINFO. The calling application must manage these bitmaps and delete them when they are no longer necessary.
记住得删除啊,hbmMask和hbmColor 否则GDI会涨的啊。
使用LoadImage可以从指定文件路径加载ICON,方法如下:
m_hLiteIcon = (HICON)::LoadImage(NULL,szImagePath,IMAGE_ICON,0,0,LR_LOADFROMFILE);
不过得注意啊,使用该方法得,使用::DestroyIcon(m_hLiteIcon);来进行释放。