.NET: Как мне создать оверлейные иконки для файлов - PullRequest
8 голосов
/ 23 марта 2010

Я пытаюсь добавить различные наложения значков поверх значков различных файлов (примечание: не все файлы определенного типа, только определенные файлы).Если вы не понимаете, о чем я, я имею в виду то, что делают такие программы, как TortoiseSVN, TortoiseHG, Dropbox и т. Д.

Можно ли это сделать в .NET?Если так, то как?Я надеюсь, что для этого есть библиотека.Я нашел этой статьи CodeProject о чем-то подобном, но это не .NET.

Заранее спасибо.

1 Ответ

5 голосов
/ 23 марта 2010

Нет, это не .NET.Программирование оболочки находится в области неуправляемого C / C ++.Shell32.dll имеет библиотеку типов, которая делает некоторые функции доступными для языков сценариев и .NET.Но интерфейс IShellIconOverlay наследуется от IUnknown и недоступен для сценариев.Технически это возможно, но вам придется переопределить интерфейс в C #, используя объявление в заголовочном файле ShlObj.h SDK в качестве шаблона.Возможно, кто-то где-то это делал, но пытаться заставить его работать редко.Быстрый поиск в Google не дает ничего полезного.

Надеемся, что .NET 4.0 оживит некоторые действия, решив проблему внедрения версий CLR.Я еще не видел признаков этого.

...