Получить связанный значок из файла, папки или диска без WinAPI - PullRequest
7 голосов
/ 16 июня 2009

Есть ли способ получить связанный значок в C # без использования DllImports?

Когда я использую Icon.ExtractAssociatedIcon, я не вижу значок для дисков, папок, SpecialFolder в среде или любых файлов в сетевых папках. Так есть ли другой способ получить значок с помощью .NET?

Ответы [ 3 ]

4 голосов
/ 21 июня 2009

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

0 голосов
/ 16 июня 2009

Может помочь эта статья с кодом на CodeProject.

Извлечение значков из файлов EXE или DLL

0 голосов
/ 16 июня 2009

Не ответ на ваш вопрос, но может быть полезным.

Вы можете получить большинство значков MS Windows из этого файла

$ VisualStudiosInstallationDirectory \ Common7 \ VS2008ImageLibrary \ VS2008ImageLibrary.zip

Замените 2008 на 2005, если вы все еще используете VS2005

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