アセンブリキャッシュビューアなど、特定のフォルダの表示を完全にカスタマイズするためのシェル拡張機能を作成したいと思います(c:\ windows \ assemblyを参照すると、意味がわかります)。これらのフックを提供するのはどのCOMインターフェイスですか?私の「ビューア」はC#で記述されます...
ありがとう!
アセンブリキャッシュビューアなど、特定のフォルダの表示を完全にカスタマイズするためのシェル拡張機能を作成したいと思います(c:\ windows \ assemblyを参照すると、意味がわかります)。これらのフックを提供するのはどのCOMインターフェイスですか?私の「ビューア」はC#で記述されます...
ありがとう!
.NETでエクスプローラー拡張機能を実行することについては論争があることに注意してください。
問題の例:.NET 2.0をターゲットにしている場合、拡張機能は.NET1.1アプリケーションによって表示される「ファイルを開く」ダイアログで機能しません。プロセスは、.NETランタイムの1つのバージョンのみをロードできます。
拡張機能が機能しないだけではありません。ファイルダイアログを使用するすべてのアプリケーションに、特定のバージョンの.NETランタイムを挿入します。アプリが、新しいバージョンの.NETランタイムなどを対象とするCOMコンポーネントの読み込みを計画していたアンマネージアプリケーションの場合、これは悪いニュースです。
編集:コメントで説明されているように、これは.NET4.0ランタイムによって解決されました。したがって、マネージドエクスプローラー拡張機能は、常に.NET4.0以降をターゲットにする必要があります。
これがあなたをあなたの道に連れて行くべき記事です:
名前空間拡張機能を使用してWindowsシェルを拡張すると、Windowsエクスプローラーのカスタム機能を作成できます。一般的な使用法の1つは、エクスプローラーが1つの実際のフォルダーには存在しないが、実際には複数の場所に存在するアイテムのリストを表示できるようにすることです。フォルダを表示すると、これらのアイテムが1つの場所にあるように見えるため、管理が容易になります。この記事では、C#と.NETFrameworkを使用してカスタムシェル名前空間拡張機能を作成するプロセスについて説明します。[...]