Ich gebunden SHGetFileInfo und ExtractIconEx, beide zurück ein normales 32x32-Symbol und 16x16 mit nur 16 Farben, und es sieht schrecklich aus. Wie extrahiere ich ein vollfarbiges Symbol? Ein korrektes 16x16-Symbol extrahieren, das einer Datei zugewiesen ist?
Mein Code
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);
Sind Sie sicher, dass Sie Datei versucht kleines Symbol hat die volle Farbe 16x16 icon zu extrahieren? – arbiter
Zumindest der Windows Explorer zeigt es an. http://img196.imageshack.us/i/iconsdys.png/ – alx
Das ist seltsam, es muss funktionieren, zumindest funktioniert es in meinem Fall. Sie brauchen unbedingt Icon, oder Image ist auch akzeptabel? – arbiter