Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получить иконку связанную с недоступным в сети файлом [D7, WinXP]


roughneck ©   (2008-09-18 11:01:00) 

Проблема получить иконку связанную с определенным файлом или папкой.
SHGetFileInfo - работает отлично, но только если есть доступ к файлу или папке. А как быть если файл не доступен (SHGetFileInfo - виснет).


GrayFace   (2008-09-25 12:54:00) [1]

Еще можно запрашивать показ иконки в отдельном потоке. Пока не загрузится, показывать, что недоступна. Дома смогу дать пример. И еще, кроме SHGetFileInfo есть интерфейс (название щас не помню), который возвращает иконки быстрее и иногда иконку можно достать только через него - например, для файлов на ftp.


kami   (2008-09-18 22:06:00) [2]

> Только теперь на любую папку отображается иконка для неизвестного
> типа файлов

FILE_ATTRIBUTE_DIRECTORY в dwFileAttributes


roughneck   (2008-09-18 12:22:00) [3]

здорово. Только теперь на любую папку отображается иконка для неизвестного типа файлов.


KilkennyCat   (2008-09-18 12:21:00) [4]


> вот например, ярлык на \\server\h$ получит иконку даже если
>  \\server не доступен.

так это системная иконка расшаренного ресурса, как я понимаю. берется откуда-нить из shell32.dll

> а как получать из perfetchчегототам? и чего там ваще есть?

http://askbobrankin.com/windows_prefetch.html
кроме того, где-то я читал, что некоторые приложения, например офис, вроде бы с 2003 версии, хранят там иконки.


clickmaker   (2008-09-18 12:04:00) [5]

SHGetFileInfo

SHGFI_USEFILEATTRIBUTES
Indicates that the function should not attempt to access the file specified by pszPath

(c) MSDN


roughneck   (2008-09-18 11:58:00) [6]

вот например, ярлык на \\server\h$ получит иконку даже если  \\server не доступен.
а как получать из perfetchчегототам? и чего там ваще есть?


KilkennyCat   (2008-09-18 11:24:00) [7]

нет файла - нет иконки. если конечно, они не хранятся как у офиса, где-то в perfetchчегототам


Наверх

Титульная страница Поиск, карта сайта Написать письмо