Иконки из удаленных файлов - PullRequest
0 голосов
/ 19 января 2009

Я начал кодировать клиентское приложение FTP (для удовольствия). Я пытаюсь представить удаленно размещенные файлы с помощью значков. Например, допустим, я просматриваю корневую папку FTP-сервера (/) и хочу отобразить файл Backup.zip с сопоставлением значков из этой клиентской операционной системы. В некоторых системах это может быть значок сжатия Windows, а в других операционных системах это могут быть значки WinZip или WinRAR.

У меня есть клиент, просматривающий локальные файлы с помощью функции SHGetFileInfo (). Это прекрасно работает с локальными файлами, однако для этой функции требуется физический файл, чтобы получить соответствующий значок. Таким образом, это не будет работать с удаленно размещенными файлами. Я нашел несколько примеров загрузки значков с расширением файла, и здесь действительно возникает вопрос ... Какова была бы лучшая стратегия для получения значков, связанных с удаленными файлами?

  1. Каждый раз заходите в реестр и ищите расширение для ассоциаций значков
  2. Создание 1-байтовых файлов с каждым расширением и использование функции SHGetFileInfo () для удаленных файлов (использование локальных 1-байтовых файлов в качестве ассоциации для удаленных файлов)
  3. Другие стратегии ???

Что бы сделала профессиональная софтверная компания, создающая FTP-клиент?

Спасибо за ваше время.

-Джесси Хоул

Ответы [ 2 ]

1 голос
/ 19 января 2009

Используйте процедуру, описанную в предыдущем вопросе о переполнении стека, по той же идее и используйте реестр вместо реального файла.

Как получить значок типа файла, который показывает проводник Windows?

1 голос
/ 19 января 2009

Я советую вам не заходить в реестр каждый раз: заходите, если вам нужно, но если вы уже работали с данным типом файла, то запомните / кэшируйте этот результат (в вашей программе) и используйте его повторно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...