こんにちは、阿久津です。ある日、画像ファイルを右クリックしますと、お馴染みの<デスクトップの背景として設定><右(左)に回転>といった項目が並んでいることに気付きました。OSの動作を常に検証するため、メインPC(Winodws 8.1)はできる限り初期状態のままにしていますが、やはり使わない機能は削除しておきたいものです(図01)。
そこで、以前寄稿したWindows Vista時代の記事をもとに、Windows 8.1でHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approvedキーを確認したところ、Windowsフォトビューアーが使用するGUID「{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}」が登録されていません。もちろんWindowsフォトビューアーは初期状態でインストールされていますので、HKEY_CLASSES_ROOT\CLSIDキーなどで、同GUIDの存在は確認できます(図02)。
そのためBlockキーにエントリを加えても、抑止する対象がApprovedキーに存在しないため、前述の記事によるチューニングはWindows 8.1に適用できません。この<デスクトップの背景として設定>を表示するエントリは、HKEY_CLASSES_ROOT\SystemFileAssociations{拡張子}\Shell\setdesktopwallpaperキーです。新規インストールした環境で調査したところ、BMP形式を筆頭に11種類のエントリが存在しました。
これをレジストリエディターで個別に削除するのは骨の折れる作業でしょう。そこでコマンドラインからレジストリを操作するコマンド「reg.exe」を使用し、コンテキストメニューの<デスクトップの背景として設定>を削除するチューニングをお送りします。
1. 管理者権限でコマンドプロンプトを起動します。
2. コマンドを実行して、HKEY_CLASSES_ROOT\SystemFileAssociationsキーをバックアップします。
3. 囲みの内容をコピー&ペーストします。
これでチューニングが完了しました(図03~05)。
図04 コマンドプロンプトが起動したら、「reg export "HKEY_CLASSES_ROOT\SystemFileAssociations" %USERPROFILE%\Desktop\Backup.reg」と入力して[Enter]キーを押します |
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.bmp\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.dib\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.gif\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.jfif\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.jpe\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.jpeg\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.jpg\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.png\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.tif\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.tiff\Shell" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations\.wdp\Shell" /f
それでは結果を確認してみましょう。画像ファイルのコンテキストメニューから<デスクトップの背景として設定>が取り除かれていますが、Windows Vistaと違って<右(左)に回転>は消えません。これは前述したようにGUIDレベルで抑止できないためです(図06)。
こちらの項目に関しても調査したところ、HKEY_CLASSES_ROOT\SystemFileAssociations{拡張子}\ShellEx\ContextMenuHandlers\ShellImagePreviewキーが存在することでコンテキストメニューに並ぶ仕組みでした。同じようにコマンド「reg.exe」を用いることで一括削除できますので、以下の手順をお試しください。
1. 管理者権限でコマンドプロンプトを起動します。
2. 囲みの内容をコピー&ペーストします。
これでチューニングが完了しました(図07)。
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.bmp\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.dib\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.gif\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.jfif\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.jpe\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.jpeg\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.jpg\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.png\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.tif\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.tiff\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
reg delete "HKEY_CLASSES_ROOT\SystemFileAssociations \.wdp\ShellEx\ContextMenuHandlers\ShellImagePreview" /f
※「\SystemFileAssociations」と直後の「\」の間のスペースを削除し、「reg delete」から「 /f」までをそれぞれ一行として、コピー&ペーストしてください
それでは結果を確認してみましょう。今度は<右(左)に回転>がコンテキストメニューから取り除かれました。多くの場合、各囲みの内容で問題ないかと思いますが、別のPCで調査したところHasselblad 3F RAW Imageである「.3fr」などにもsetdesktopwallpaperキーやShellImagePreviewキーが存在しましたので、環境に応じて編集してください(図08)。
また、先の手順でバックアップしたレジストリファイルを用いれば、元の状態に戻すことも可能です。HKEY_CLASSES_ROOT\SystemFileAssociationsキーの一部は一般ユーザーによるアクセス権が割り当てられていないため、結合するとエラーメッセージが現れますが、今回のチューニングに関しては特に問題ありません。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)