.NET: как я создаю оверлейные программы значка файла

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

Это может быть сделано в.NET? Если так, как? Я надеюсь, что существует библиотека там для этого. Я нашел эту статью CodeProject о чем-то вроде этого, но это не.NET.

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

8
задан Maxim Zaslavsky 22 March 2010 в 23:51
поделиться

1 ответ

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

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

5
ответ дан 5 December 2019 в 23:14
поделиться