Re[2]: Картинки для папок
От: Аноним  
Дата: 04.03.11 09:49
Оценка:
System.Windows.Media.Imaging.BitmapSource это PresentationCore.dll (Framework не ниже 3.5). У меня приложение под Framework 2.0. Использовать SHGetFileInfo пробовал:


public static System.Drawing.Icon GetFolderIcon(IconSize size, FolderType folderType)
        {
            ...

            // Get the folder icon
            Shell32.SHFILEINFO shfi = new Shell32.SHFILEINFO();
            Shell32.SHGetFileInfo(null,
                Shell32.FILE_ATTRIBUTE_DIRECTORY,
                ref shfi,
                (uint)System.Runtime.InteropServices.Marshal.SizeOf(shfi),
                flags);

            System.Drawing.Icon.FromHandle(shfi.hIcon);    // Load the icon from an HICON handle

            // Now clone the icon, so that it can be successfully stored in an ImageList
            System.Drawing.Icon icon = (System.Drawing.Icon)System.Drawing.Icon.FromHandle(shfi.hIcon).Clone();

            User32.DestroyIcon(shfi.hIcon);        // Cleanup
            return icon;
        }
    }


Но для папок такой код возвращает неправильную картинку (показал бы ,но не знаю как добавить картинку). Причём для всех одинаковую.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.