こんにちは、阿久津です。先週紹介したフォルダー内の自動整列を無効にするチューニングですが、どのように動作しているか、興味を持たれた方も少なくないでしょう。今回はいつものレジストリチューニングをお休みし、前回の記事を解説します。

そもそも、HKEY_CLASSES_ROOT \ Local Settings \ Software \ Microsoft \ Windows \ Shell(HKEY_CURRENT_USER \ Software \ Classes \ Local Settings \ Software \ Microsoft \ Windows \ Shell)キーには、各フォルダーの設定情報を格納し、サブキーとして、BagMRU、Bags、MuiCacheと三つのキーが並んでいます。

一つめのBagMRUはフォルダー情報をキャッシュするためのキー。キー名から推測するに、バック(=フォルダー)情報として格納したデータのなかから、最近最も使われたものを最初に破棄するMost Recently Used(MRU)ロジックで処理を行なっているのでしょう(図01)。

図01: フォルダーの後天的な情報を格納するHKEY_CLASSES_ROOT \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ BagMRUキーです

二つめのBagsキーは、フォルダーの表示位置や表示形式など各種設定を格納するためのキーで、アイテムをバックに詰め込むことを意味していると推測します。同キーには、レジストリチューニングでおなじみのDWORD値「BagMRU Size」を編集することで、フォルダー情報を管理する数を変更できますが、ポイントは特定のフォルダーと連動する数字を名前に持つキーと、初期状態の設定を格納するAllFoldersキー。ここではDWORD値「WinPos~.bottom」キーなどでフォルダーの表示位置などを保持し、新たに開いたフォルダー情報を生成した数字を名前に持つキーに用いています(図02~03)。

図02: フォルダーの各設定情報を格納するHKEY_CLASSES_ROOT \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ Bagsキーです

図03: サブキーとなるAllFoldersキーを展開しますと、フォルダーの表示位置などが格納されていることを確認できます

そして三つめのMuiCacheもキー名と格納情報から推測しますと、MUI(Multi User Interface)のキャッシュを格納するためのキーと言えます。バイナリ値「LangID」で言語IDを管理し、文字列値名としてパスを、データ値に特定言語で用いられるファイル名やフォルダー名を格納しているのでしょう。フォルダーに対するレジストリチューニングを行なう場合、同キーは関係ありません(図04)。

図04: 異なる言語でもファイルやフォルダー名が正常表示されるために用いられるキャッシュ情報は、HKEY_CLASSES_ROOT \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ MuiCacheキーに格納されます

このほかにも同様の役割を持つ、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shellキーや、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ ShellNoRoamキーも存在します。前者は前述した~Shell\Bagsキーと同じくフォルダー情報が格納されますが、それぞれ格納内容が異なりますので、前回の記事のようにAllFoldersキーを作成するチューニングを行なっても正しく動作しない場合は、一度Bagsキーを削除してから同キーを作成しましょう。

後者のShellNoRoamキーは、散策や歩き回ることを意味するRoamを否定した名前と、Windows 2000/XP時代のレジストリチューニングを踏まえますと、固定情報を格納するキーと推測できます。ただしWindows 7においては、DWORD値「BagsMRU SIZE」は、HKEY_CLASSES_ROOT \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ Bagsキーに作成され、筆者が確認した限りでは同キーが存在しない環境もありました。このことから、ShellNoRoamキーは削除対象に加えて構いませんが、Windows 7においては特段意識するキーではなくなったと言えるでしょう(図05)。

図05: Windows 7の場合、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ ShellNoRoamキーは環境よって使われない場合もあります。筆者の環境では同キー自体が存在しないコンピューターもありました

さて、ここまでの話を一度まとめましょう。「AllFoldersキーを用いたレジストリチューニング時に、各種設定を『完全』に削除する場合」は、囲みのキーを削除し、再作成します。なお、末尾のHKEY_CURRENT_USER\Software \ Classes \ Wow6432Node \ Local Settings \ Software \ Microsoft \ Windows\Shellキー対する操作は、64ビット版Windows 7でのみ行なってください。

■削除対象となるキー
HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\Bags(BagMRU)キー
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags(BagMRU)キー
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags(BagMRU)キー
HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags(BagMRU)
■再作成するキー
HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\Bags(BagMRU)キー
HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags(BagMRU)キー

前回のレジストリチューニングでは、各種フォルダーの設定情報を格納するBagsキーを空にしてから、初期状態の設定を格納するAllFoldersキーを作成し、最小限の情報を作成することで、各フォルダーに対する情報(~ \ Bags \ 1017 \ Shellキーなど)は、Windows 7に新規作成させました。

この仕組みを応用しますと、フォルダーの初期表示状態を決め打ちするレジストリチューニングが連想されますが、前回紹介したチューニングとは主旨が異なります。また、各エントリの紹介およびチューニング方を紹介するにはスペースも足りませんので、項を改めさせてください(図06)。

図06: Bagsキー下に生成されるサブキーには、フォルダーの設定を格納するエントリが数多く格納されています

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)