SVN や Git などのツールは、どのようにして Windows エクスプローラーに接続し、右クリック メニューにオプションを追加したり、ファイルが編集されたかどうかに基づいて目盛り/感嘆符を追加したりしますか?
(私は Git または SVN 固有の情報を求めているわけではありません。例として使用しただけです)
SVN や Git などのツールは、どのようにして Windows エクスプローラーに接続し、右クリック メニューにオプションを追加したり、ファイルが編集されたかどうかに基づいて目盛り/感嘆符を追加したりしますか?
(私は Git または SVN 固有の情報を求めているわけではありません。例として使用しただけです)
必要なのはシェル拡張機能と呼ばれ、Windows オペレーティング システムの機能を拡張するインプロセス COM オブジェクトです。

(ソース: csscript.net )
これらのリンクを見ることができます
さよなら。
Explorer では、DLL をシェル拡張として登録できます。シェル拡張は、コンテキスト メニュー項目、アイコン オーバーレイ、およびその他の多数の機能を提供できます。メニューやアイコンを表示する前などに、エクスプローラーが呼び出す特定の COM インターフェイスを公開することでこれを行います。シェルの拡張性に関する MSDN ホームページは次のとおりです。奇妙なことに、コンテキスト メニューとアイコン オーバーレイに関する情報はもう存在しないようですが、Win32 および COM Development の下でオフライン SDK を試す必要があるかもしれません。ユーザー インターフェイス | Windows ユーザー エクスペリエンス | Windows シェル | シェル開発者ガイド | シェルへのアプリケーションの統合。
必要なシェル拡張に応じて、実装が非常に複雑になる可能性があります。私はあなたが何を探しているのか、すぐに素敵な拡張機能を書くのか、あるいは核心に迫ってそのすべての実践をすべて学ぶのかわかりません。方法にそれほど関心がなく、実装したいアイデアがある場合は、シェル拡張機能を作成するためにこのライブラリをチェックしてください...
EZShellExtensions MFC
EZShellExtensions.NET
さまざまなタイプがあります
。-コンテキストメニュー
-プロパティページ
-アイコンハンドラー
など...
また、名前空間拡張機能(Windowsエクスプローラーのツリーペインに表示されるもの)を作成するための別のライブラリもあります。