Добавление пункта контекстного меню в проводнике windows только для конкретного диска
Я хотел бы добавить пункт контекстного меню в проводнике windows, немного похожий на notepadd++, winzip, winrar.
Вот мои требования:
- пункт контекстного меню должен отображаться на всех файлах конкретного диска (например : должен отображаться на D:, но не на C:)
- контекстное меню должно просто запустить программу .NET с выбранными файлами в качестве параметров
- должен работать на XP, Vista, Windows 7 (32 и 64 бит)
Через некоторое время поиск, это выглядит так, как будто я мог бы использовать ключ реестра "папкаоболочка" и подключить себя здесь, но это выглядит так, как будто это все или ничего, нет способа иметь мой пункт только в контекстном меню для файлов В D: но не C:
Другим решением было бы написать расширение оболочки, но это не рекомендуется в .NET и выглядит немного излишним для данной задачи.
Какой самый простой способ решить мою проблему ?
Спасибо
1 ответ:
Другим решением было бы написать расширение оболочки, но это обескуражен в .NET, и выглядит немного излишне для текущей задачи.
Где вы читали, что это обескураживает? Дино Эспозито написал целую книгу о расширениях оболочки, выполненных на C#, google for it:)
В ShellExtension ваш код выполняется, и у вас есть полный контроль над тем, что отображать и когда, это не перебор, это то, что вам нужно в этом случае.
Реестр содержит Регистрация ShellExtension (плюс другие вещи), поэтому я считаю, что вы должны пойти на кодированный подход расширения оболочки, не касаясь реестра вручную, потому что в этом втором случае у вас меньше контроля над тем, что происходит.