我绑SHGetFileInfo和ExtractIconEx,都返回一个正常的32x32图标和16x16只有16种颜色,它看起来很糟糕。如何提取全彩图标?提取分配给文件的正确的16x16图标?
我的代码
SHFILEINFO shinfo = new SHFILEINFO();
IntPtr hImgSmall = SHGetFileInfo(fileName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), SHGFI_ICON | SHGFI_SMALLICON);
Icon icon = (Icon)System.Drawing.Icon.FromHandle(shinfo.hIcon).Clone();
DestroyIcon(shinfo.hIcon);
你确定你的文件试图提取小图标具有全彩色16×16的图标? – arbiter 2009-07-06 10:49:51
至少Windows资源管理器显示它。 http://img196.imageshack.us/i/iconsdys.png/ – alx 2009-07-06 12:20:33
这很奇怪,它必须起作用,至少它适用于我的情况。你绝对需要Icon,或Image也可以接受? – arbiter 2009-07-06 12:58:18