2010-12-13 14 views
3

まず、私の貧しい人のために申し訳ありません...DelphiでWindowsシェル名前空間拡張を作成するにはどうすればよいですか?

名前空間拡張機能(NSE)を使用してWindowsエクスプローラに仮想フォルダを追加したい場合、この仮想フォルダを開いてパスを探索できるようにします(例えば、c:\test)。

どのように私はDelphiを使ってこれを行うことができますか?ありがとう。

答えて

7

開始する場所は、MSDNのドキュメントです:Introduction to the Shell Namespace。もちろん、これはC++の観点から書かれていますが、Delphiにマップするのはそれほど難しいことではありません。

このようなタスクのもう1つの優れたリソースは、Code Projectです。例:The Complete Idiot's Guide to Writing Namespace Extensions - Part I Mike Dunn。実際、これはシェル拡張に関する優れた一連の記事の一部です。

現時点では、Delphiは64ビットの実行可能ファイルを生成しないため、貧弱な選択です。これは、シェル拡張が64ビットWindows上で動作しないことを意味します。これは深刻な制限です。

Delphi XE2の最近のリリースでは、この制限が削除されました。 XE2は64ビットの実行可能ファイルを生成することができるため、64ビットのシェル拡張を生成するために使用できます。

+0

thxと私名前空間の拡張を学びたいので、私はこれを気にしません〜 – dropme

+1

@dropme VCL COMコードは複雑さを包み込み、実際の問題に集中することができるので、Delphiは素晴らしい選択です。しかし、シェルの拡張機能を広範囲に配備しなければならないのであれば、私のポイントは –

+4

+1です。これは、デルファイコンパイラのx64バージョンを持たない場所の1つが重大な制限です。 – Remko

3

基本的にシェル拡張は、一連のインターフェイスを実装するCOMオブジェクトです。どのインタフェースを実装する必要があるかは、エクステンションのタイプによって異なります(エクステンションで使用されるものもあります)。 あなたはhereを読むことができます(C - > Delphiの翻訳が必要ですが、そのような問題に取り組むのが良いと思います)、参考はもちろんです。MSDN

関連する問題