How do I fetch the folder icon on Windows 7 using Shell32.SHGetFileInfo
I have the following code which works on Windows XP and Vista — both 32 and 64 bit:
The constants are defined the following way:
This gives the following results in windows 7 when fetching the folder icon:
While at Vista — using the same method result in the following folder icon:
I would like the «correct» Windows folder icon for Windows 7 also — not the icon used to indicate the drive where Windows is installed.
I don’t know the win32 API and my non-managed programming is next to none on the Windows platform.
2 Answers 2
You shouldn’t specify null as yur first parameter to SHGeFileInfo . Use the path to a folder instead (please note that some folders have different (non-standard) icons). You could use the temp folder or your application’s root folder for example.
Best practise would be to get the correct icon for each folder (in other words: Change the signature of GetFolderIcon to public static Icon GetFolderIcon(string folderPath, IconSize size, FolderType folderType) and call it for each folder you display).
There seems to be an open source library which already has a managed wrapper for fetching folder icons. Found on PInvoke.net (the entry for SHGetFileInfo):
However, this does not work if you want an icon of a drive or folder.
In that case, you can use the ExtendedFileInfo class provided by the ManagedWindowsApi project (http://mwinapi.sourceforge.net).
If you want to stick to a hand-crafted solution, this works for me (Win7 x64 RTM, .NET 3.5 SP1):
Windows 7 Folder Background Changer 1.1
Windows 7 Folder Background Changer — небольшая утилита для изменения заднего фона папок в Windows 7. Позволяет установить любое изображение: собственное фото или красивый пейзаж. Такой же фон автоматически установится во всех под-папках. Чтобы установить фон, нужно запустить программу с правами администратора, задать необходимую папку и выбрать изображение для фона в формате BMP, PNG или JPG. Также есть возможность изменить цвет текста и добавить к нему тень. Не требует установки.
Статус программы | Бесплатная |
Операционка | Windows 7 |
Интерфейс | Английский |
Закачек (сегодня/всего) | 3 / 19 191 |
Разработчик | The Windows Club |
Последнее обновление | 13.02.2012 (Сообщить о новой версии) |
Категории программы | Расширения — Украшательства |
Defender Control 1.6
С помощью небольшой программки Defender Control вы в один клик сможете отключать, включать и настраивать интегрированный в систему Windows Defender. Утилита очень
Punto Switcher 4.4.3.407
Punto Switcher — нужная программа, которая автоматически исправит текст, набранный не в той раскладке. Бывает, что вместо «скачать» пишем «crfxfnm» или «Цштвщцы»
KeyFinder 2.0.10.13
KeyFinder — бесплатная программа для извлечения из реестра ключей установленной операционной системы, что будет полезно, например, при переустановке ОС или
CPU-Control 2.1
CPU-Control — программа, которая позволяет распределять использование отдельных ядер процессора различными процессами в многоядерных системах (включая и
StartIsBack++ 2.9.5
StartIsBack++ — полезная утилита для всех пользователей «десятки», которая вернет в интерфейс операционки привычное и знакомое меню Пуск из Windows 7
Volume2 1.1.5.404 / 1.1.6.426 beta
Volume2 — очень удобная программа, дающая пользователю возможность управлять уровнем громкости с помощью мыши. Управление осуществляется путем вращения колеса мыши
Отзывы о программе Windows 7 Folder Background Changer
вася про Windows 7 Folder Background Changer 1.1 [10-06-2016]
Олег про Windows 7 Folder Background Changer 1.1 [08-01-2015]
Всё хорошо ! Но кто подскажет, как поменять фон не только в окне папки, но и в области переходов и в области сведений ? (Win-7,(64)
4 | 4 | Ответить
Давид про Windows 7 Folder Background Changer 1.1 [03-05-2014]
После того как поставил фото и фото чёрное, меняю цвет букв в папке, что бы не сливались, после захожу в папку жму F5 и он снова возвращает цвет букв в чёрный, и ещё если поставить фото в папку, то все остальные папки находящие в ней тоже меняют на эту фотографию. Не очень удобно, но лучше чем нечего)
2 | 2 | Ответить
гадыль про Windows 7 Folder Background Changer 1.1 [24-03-2014]
полная шляпа на 7Х64 бит,не слушайте некого
5 | 2 | Ответить
Расул про Windows 7 Folder Background Changer 1.1 [15-12-2013]
Спасибо админу сайта за вазможность лёгкого скачивания и старания выкладывать на сайт чистых от вирусов файлов
2 | 2 | Ответить
| |||||||||||||
| |||||||||||||