基本的には、GUIから操作する手順
ライブラリ: フォルダーを追加または削除する方法
http://windows.microsoft.com/ja-jp/windows-8/add-folders-library
がポピュラーです。
他に手はないのかいろいろ当たってみました。
・レジストリに該当情報がないか確認
パブリックのドキュメント に関するGUIDが定義されていた。
ただし、HKEY_CURRENT_USER配下で上記GUIDを含む箇所は見当たらず。
・下記ドキュメントから、ライブラリーが論理的なものであることを確認
第 8 章: Windows 7 ライブラリとシェルの使用
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff934858.aspx
・ライブラリーの物理パスを下記ドキュメントから確認
以下のドキュメントをFOLDERID_DocumentsLibraryで検索すると
KNOWNFOLDERID
http://msdn.microsoft.com/en-us/library/dd378457(v=VS.85).aspx
%APPDATA%\Microsoft\Windows\Libraries\Documents.library-ms
が物理パスであると定義されていました。
ということで、ライブラリーはレジストリにはなくて、特定の物理パスに置かれている何かであることがわかりました。
というわけで%APPDATA%\Microsoft\Windows\Libraries\を開いてみます。
赤枠内が全く同じであることが見て取れます。

試しにドキュメントをメモ帳で開いてみます。すると

XMLファイルでした。これがDocuments.library-msということですね。こちらにもXMLファイルであるとの記載がありました。
MSDN マガジン > ホーム > アーカイブ > 2009 > MSDN マガジン June 2009 > Windows 7 徹底解剖: ライブラリの紹介
内部ライブラリ
http://msdn.microsoft.com/ja-jp/magazine/dd861346.aspx#id0370055
ファイルによっては、以下のGUIDが含まれているようです。
・{7D49D726-3C21-4F05-99AA-FDC2C9474656} は、
http://msdn.microsoft.com/ja-jp/library/windows/desktop/dd798386(v=vs.85).aspx
に記載のある通りドキュメントフォルダーを表すGUIDです。
・{ED4824AF-DCE4-45A8-81E2-FC7965083634}は、
http://msdn.microsoft.com/en-us/library/dd378457(v=VS.85).aspx
に記載のある通り"パブリックのドキュメント"をを表すGUIDです。
内部ライブラリにひな形のXMLがあるので、もしやと思いテンプレートを

一旦テキストファイルとし保存しました。

拡張子をtxtからlibrary-msに変更してみます。



と拡張子が消えました。
で、ダブルクリックして開いてみると[フォルダーの追加]ボタンがあるので、

D:\LIBを追加してみました。

ジャンクションポイントとは全く異なる仕組みですが、仮想的にマウントされています。
でこのlibrary-msファイルを%APPDATA%\Microsoft\Windows\Libraries\にコピーしてみます。
左ペインのライブラリに新しいDocument2が増えました。

当然のことながら、D:\LIBにポイントされています。

ライブラリは、こういう拡張性を持っているわけです。
応用例としては、先ほど作ったDocument2のファイル名を変更してダウンロードとします。でプロパティを編集して

ライブラリのほうにもダウンロードを表示させれるということですね~

なかなか面白い仕組みです!
0 件のコメント:
コメントを投稿