だから、会う-タッグ!
これは何?
これは、追加のプロパティをファイルにバインドできるWindowsシェル拡張です。 これまでのところ、タグ、コメント、評価という3つのプロパティがあります。 必要に応じて、他のものを追加することもできますが、何かを検討する必要がありました。
値は、TaggDataと呼ばれる代替NTFSストリームに格納され、ユーザーには完全に見えず、システムに対して透過的です。 ファイルストリームにXML-kiからの隠れた脅威が存在する、偏執的なウイルス対策プログラムがない場合。
どのように機能しますか?
まず、Tagg.dllライブラリは、regsvr32コマンドを使用して(もちろん管理者から)COMオブジェクトとしてシステムに登録されます。 次に、コード名{09ECDDF2-61C3-4bb6-88C6-70BC292AD0EC}のクラスエントリが表示されます。
次のステップは、フィルターによって処理されるファイル拡張子を示すことです。 残念ながら、Vistaではすべてのファイルにグローバルプロパティハンドラーを指定できないため、必要なすべての拡張子をHKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ PropertySystem \ PropertyHandlersブランチに追加する必要があります。 既にいくつかの拡張機能があるので、類推して追加します。
ハンドラーが特定の種類のファイルに既に登録されている場合、それは重要ではありません。 追加のフォールバックレジストリキーでCLSIDを「移動」し、デフォルトキーでCLSIDを指定するだけで十分です。Taggは独自のプロパティセットを追加します。
ここで、ファイルの種類ごとにプロパティを表示する場所とケースを指定する必要があります。
Windows Vistaでは、以前のバージョンと同様に、ファイルタイプのプロパティは「prop:System.ItemType; System.Size; ...」のような文字列としてレジストリに設定されます。 ツールチップ、タイル、詳細情報のいずれの場合でも、プロパティごとに独自の行が提供されます。
したがって、これらの行に必要なプロパティ、System.Keywords、System.Comment、およびSystem.Ratingを挿入する必要があります。 そして、ここにもセットアップがあります-これらの行もレジストリ全体に非常に散らばっています。 ここでは、たとえば、優先順位の主要な場所はHKCR \ SystemFileAssociation、HKCR、HKCR \ *です。 そのため、適切な場所を探して少し汗をかかなければなりません...(ヒント:必要に応じて、このためのユーティリティを作成できます;))
十分な言葉!
たとえば、pngファイルにタグを追加します。
それでは、拡張機能のバインディングから始めましょう。
ご覧のとおり、彼には既にハンドラーがいたので、古いハンドラーはフォールバックに移動しました。
プレビュー用のプロパティバーを少し変更してみましょう...
そして...出来上がり!
タグを変更して追加できます...
...グループ化し、それらでフィルタリングします...
...検索とレイアウト(ここで「スタック」を正しく翻訳する方法がまだわかりません)...
また、フォトギャラリーなどの既存のプログラムに見事に統合されています...
...またはSnipping Tool ...
UPD:バージョン1.0.0.2 hereおよびhere 。 エクスプローラーのランダムな評価のバグを修正しました。
これまでのところ、完璧とはほど遠い(手動での登録は面倒)が、すでにかなり使いやすい。
ところで、すべての幸せな恋人たち! 憎しみとカルモカストラツィヤを減らし、愛と創造性を高めましょう!