こんにちは。阿久津です。つい最近のことですが、Windows Vistaを使っていて違和感を覚えたことがありました。あるファイルにはサムネイル上にオーバーレイアイコンが表示されているものの、画像ファイルには表示されていません。この場合のオーバーレイアイコンとは、ショートカットアイコンなどを示すアイコン左下側に付いたアイコンではなく、右下側に付くアイコンを指します。

開発者向けドキュメントを読んでみると、Windows Vistaの仕様に沿ったインストーラーなどが、ファイル関連付けの設定を行なう際に作成するようです。また、オーバーレイアイコンを表示させるには、フォルダオプションダイアログの<表示>タブにある詳細設定の<縮小版にファイルアイコンを表示する>にチェックが入っていなければなりません。

しかしながら、ほかのファイルには表示されていても、画像ファイルや動画ファイルにはオーバーレイアイコンは表示されていません。そこで調べてみると、オーバーレイアイコンとして表示される情報は、文字列値「TypeOverlay」で管理されており、ここに表示させるアイコンを指定しなければならないようです。そこで今回はオーバーレイアイコンを表示を制御するチューニングをお送りしましょう。

  1. <スタート>メニュー→クイック検索に「regedit」と入力して[Enter]キーを押す。
  2. レジストリエディタが起動したら、HKEY_CLASSES_ROOT \ SystemFileAssociations \ imageまでキーをたどって開く。
  3. 右ペインにある文字列値「TypeOverlay」をダブルクリックし、値のデータを「"C: \ Program Files \ Windows Photo Gallery \ WindowsPhotoGallery.exe",0」に変更して<OK>ボタンをクリックします。
  4. [F5]キーを押して変更内容をシステムに反映してから、レジストリエディタを終了する。
※直接入力の際は、バックスラッシュ(\)前後のスペースを取り除いてください。

これで設定完了です。サンプルピクチャフォルダなどを開いてみると、サムネイル画像の右下にWindowsフォトギャラリーのアイコンが表示されるようになります。すでに開いた画像フォルダがある場合は、[F5]キーを押して更新してください(図1)。

図1: オーバーレイアイコンとしてWindowsフォトギャラリーのアイコンを使用した例

ステップ3で指定するアイコンは「{アイコンを持つファイル名をフルパスで指定},アイコン番号」という書式で指定できるため、好みに応じて変更可能です。例えば「explorer.exe,0」とした場合、Explorer.exeのアイコンがオーバーレイアイコンとして表示されます(図2)。

図2: オーバーレイアイコンとしてExplorer.exeのアイコンを使用した例

さて、以前の連載でも述べたように、HKEY_CLASSES_ROOT \ SystemFileAssociations \ imageキーはWindows Vistaで扱える主な画像ファイルに対して適用されます。初期状態でimageキーには、文字列値「TypeOverlay」があるもののデータ値は空のまま。実は同値のデータ値が空の場合はオーバーレイアイコンが表示されない仕組みになっています。そのため、JPEG形式だけオーバーレイアイコンを適用したいとチューニングしても、imageキーにある文字列値「TypeOverlay」が優先されるため、オーバーレイアイコンは表示されません。

この仕組みを利用すれば、主な画像ファイルはオーバーレイアイコンを表示させても、特定の拡張子もしくはファイルタイプのみ非表示とすることが可能です。ちなみに、フォルダオプションダイアログの<表示>タブにある詳細設定の<縮小版にファイルアイコンを表示する>は、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AdvancedキーのDWORD値「ShowTypeOverlay」で制御されており、データ値が「0」でチェックオフ、「1」でチェックオンとなります。レジストリ上でまとめて設定する際にご活用ください。

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

阿久津良和(Cactus)