2010-12-13 2 views
3

Во-первых, извините за мой плохой английский ...Как я могу написать расширение пространства имен Windows Shell в Delphi?

Я хочу добавить виртуальную папку в Проводник Windows с использованием расширения пространства имен (NSE), и я хочу, чтобы пользователи могли открыть эту виртуальную папку, чтобы изучить какой-то путь (например, c:\test).

Как это сделать с помощью Delphi? Благодарю.

ответ

7

место для начала документации MSDN: Introduction to the Shell Namespace. Естественно, это написано с точки зрения C++, но не так сложно сопоставить это с Delphi.

Другим прекрасным ресурсом для таких задач является Code Project. Например: The Complete Idiot's Guide to Writing Namespace Extensions - Part I от Майка Данна. На самом деле это всего лишь часть отличной серии статей о расширении оболочки.

В настоящее время Delphi - это плохой выбор, поскольку он не создает 64-разрядные исполняемые файлы. Это означает, что расширение вашей оболочки не будет работать на 64-битной Windows, что сейчас является серьезным ограничением.

С недавним выпуском Delphi XE2 это ограничение было удалено. XE2 способен создавать 64-битные исполняемые файлы и поэтому может использоваться для создания расширений 64-битных оболочек.

+0

thx, и i просто хочу изучить расширение пространства имен, поэтому мне все равно, это ~ – dropme

+1

@dropme в этом случае Delphi - прекрасный выбор, потому что код COM VCL дополняет множество сложностей и позволяет сосредоточиться на реальных проблемах; но если вам когда-либо приходилось развертывать расширение оболочки, тогда моя точка стоит –

+4

+1, это ОДИН из мест, где не имеет x64-версию компилятора Delphi. – Remko

3

В основном расширение оболочки представляет собой COM-объект, который реализует набор интерфейсов. Какие интерфейсы должны быть реализованы, зависит от типа расширения (конечно, некоторые из них используются любым расширением). Вы можете начать читать here (вам нужны C -> Delphi перевод, но когда вы начинаете работать в таких вопросах лучше вы подготовиться к нему), а затем ссылка конечно MSDN

 Смежные вопросы

  • Нет связанных вопросов^_^