我綁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