SharpShellを使用して管理されたWindowsシェル拡張機能を構築する
Dave KerrによるSharpShellを探求してください。これは、.NET開発者がネイティブC++や直接COMコーディングなしでWindows Explorer統合を作成できるフレームワークです。これは、開発者が管理された言語を使用してExplorerレベルの機能を追加できるように、コンテキストメニュー、アイコンオーバーレイ、プレビュー、サムネイルのためのハンドラーを公開します。このパッケージには、サーバーマネージャーテストGUIとコマンドライン登録ツールが含まれており、制御されたコード中心のシェルカスタマイズが必要なソフトウェア開発者やシステム管理者にとって便利です。
SharpShellはCOMベースのシェル作業を管理されたハンドラーに変換します
このフレームワークは、開発者がC++のネイティブCOMの代わりにC#またはVB.NETを書くことができるように、具体的なハンドラータイプのセットを提供します。サポートされているハンドラーには、コンテキストメニュー、アイコンオーバーレイ、プレビュー、サムネイル、プロパティシート、および情報ヒントの実装が含まれます。この配置により、チームは通常のアセンブリを作成し、各ハンドラーサーフェスのためにSharpShell APIに従うことでExplorer統合を実装できます。
サーバーツールと登録が開発ワークフローの展開の摩擦を減らします
このプロジェクトは、テスト用のサーバーマネージャーGUIと、手動レジストリ編集なしでサーバーをインストールまたはアンインストールするためのコマンドラインサーバー登録マネージャー(srm.exe)を提供します。これは、グローバルアセンブリキャッシュ登録とコードベース登録の両方をサポートしているため、アセンブリは単一のフォルダーに留まることができます。これらのユーティリティにより、開発者は拡張機能を反復し、開発サイクル中にExplorerプロセスを繰り返し再起動することなくサーバーを管理できます。
プラットフォームの制約がこのフレームワークを採用すべき人を導きます
このフレームワークは.NET Frameworkをターゲットにしており、シェル拡張がExplorerプロセス内でインプロセスで実行される必要があるため、アセンブリはオペレーティングシステムのビット数と一致する必要があります。これは、最新のWindowsリリース全体の互換性をリストし、.NET Framework 4.0以上に依存しています。これらの要件を考慮すると、このフレームワークはWindowsプロセスの制約を受け入れ、シェル拡張を展開する際に正しいアーキテクチャ用にコンパイルするチームに適しています。
SharpShellは経験豊富な.NET開発者にとって実用的な選択肢です
このフレームワークは、マネージドシェル統合が必要な.NET開発者にとって実用的なオプションです。なぜなら、ネイティブCOMプランビングをマネージドハンドラーに置き換え、テストおよび登録ユーティリティを提供するからです。Windowsシェルの概念やデプロイメントの詳細において学習曲線があることを期待してください。したがって、Explorerの内部に慣れている開発者や管理者に最も適しており、カジュアルまたはスクリプトレベルのカスタマイズには向いていません。





