2011年1月16日日曜日

Windows 7で移動可能なフォルダー 1

マイドキュメントなどのフォルダーは保存先を変更できます。リダイレクトともいわれ、プロパティで場所タブが表示されるものが移動可能です。

Users

場所の設定は2つのレジストリキー以下に保存されます。

Personal のキー
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Public のキー
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders


Shell Folders キーには、!Do not use this registry key とレジストリにコメントが入れてありますが、「これからは、User Shell Folders キーを使ってください」ということのようです。

Windows 7 では、これらのキーに記載のあるフォルダー以外にも移動できるフォルダーがたくさんあります。それらを移動した場合は上記のキーに追加で登録されます。

たとえば、アドレス帳 の場所を変更すると

アドレス帳のターゲットフォルダー

キーに値が追加されます。

{56784854-C6CB-462B-8169-88E350ACB882}

このフォルダーを標準に戻しても値は削除されずに、デフォルト値へ戻ります。

{56784854-C6CB-462B-8169-88E350ACB882}

本題ですが、Windows 7 では、どのフォルダーが移動可能なのか、検索してみても判らなかったので、独自に調べてみました。


移動可能なフォルダーは以下のキーのサブキーに登録してあると思います。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions

サブキーにはすべて、Category 値があり、意味は以下のように分類されていると思います。

値のデータ
1 = コントロールパネルなどの普通はExplorerに表示されないフォルダー
2 = System32 など、いつもExplorerで使っているフォルダー
3 = Public の移動可能なフォルダー
4 = Personal の移動可能なフォルダー

サブキーにはすべて、Name値 があり、shell:name値のデータで、そのフォルダーを開くことができます。

例えば、shell:Personal コマンドを実行すると shell:Personal
マイ ドキュメント が開きます。マイドキュメント

ここからを作成してみました。