-
Проблема получить иконку связанную с определенным файлом или папкой. SHGetFileInfo - работает отлично, но только если есть доступ к файлу или папке. А как быть если файл не доступен (SHGetFileInfo - виснет).
-
нет файла - нет иконки. если конечно, они не хранятся как у офиса, где-то в perfetchчегототам
-
вот например, ярлык на \\server\h$ получит иконку даже если \\server не доступен. а как получать из perfetchчегототам? и чего там ваще есть?
-
SHGetFileInfo
SHGFI_USEFILEATTRIBUTES Indicates that the function should not attempt to access the file specified by pszPath
(c) MSDN
-
> вот например, ярлык на \\server\h$ получит иконку даже если > \\server не доступен.
так это системная иконка расшаренного ресурса, как я понимаю. берется откуда-нить из shell32.dll > а как получать из perfetchчегототам? и чего там ваще есть? http://askbobrankin.com/windows_prefetch.htmlкроме того, где-то я читал, что некоторые приложения, например офис, вроде бы с 2003 версии, хранят там иконки.
-
здорово. Только теперь на любую папку отображается иконка для неизвестного типа файлов.
-
> Только теперь на любую папку отображается иконка для неизвестного > типа файлов
FILE_ATTRIBUTE_DIRECTORY в dwFileAttributes
-
Еще можно запрашивать показ иконки в отдельном потоке. Пока не загрузится, показывать, что недоступна. Дома смогу дать пример. И еще, кроме SHGetFileInfo есть интерфейс (название щас не помню), который возвращает иконки быстрее и иногда иконку можно достать только через него - например, для файлов на ftp.
|