我绑定(bind)了 SHGetFileInfo 和 ExtractIconEx,它们都返回了一个普通的 32x32 图标和只有 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);

最佳答案

我试过这个例子 link text 并且工作.....得到了 16*16 的 alpha channel 。
尝试一下。

关于c# - 提取分配给文件的正确 16x16 图标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1086309/

10-08 21:53