Хм, это немного за "клик".Вы должны написать расширение оболочки.Делать это в C # было довольно запрещено до .NET 4.0 из-за проблемы с внедрением версии CLR.Неуправляемые программы (скажем, «Блокнот») вводят в них CLR, когда они используют диалог оболочки, такой как FolderBrowser или OpenFileDialog.Что может привести к сбою последующего кода, что требует другой версии CLR.Это решено, CLR 4.0 поддерживает параллельную работу в памяти нескольких версий CLR.
Что не решено, так это сложность кода, который вам нужно написать.Расширения оболочки требуют COM-код.Жесткий вид, интерфейсы, которые происходят от IUnknown.Чтобы даже начать, вам нужно написать массу объявлений для интерфейсов COM.Вы не можете получить их из объявлений SDK, они могут использоваться только программой на C ++.И это очень подвержено ошибкам, C # не поддерживает множественное наследование, особенность, которую вам нужно было бы объявить COM-интерфейсами, производными от других интерфейсов.
И последнее, но не менее важное, отладка такого рода кодакошмарный сон.Это важный процесс Windows, с которым вы работаете.Ошибка делает вас непригодной оболочкой.Перезагрузка запускает ту же скорлупку.
Ну, навыки черного пояса требуются.Я предполагал, что доступность .NET 4.0 должна запустить некоторые проекты, которые предоставляют дружественные управляемые оболочки.Я просто еще не видел.Прими это как знак.