Windows の右クリックメニューをカスケード表示し 1つにまとめる方法です。デスクトップを例にしますが、ほかのシェルメニューにも応用できます。
デスクトップとフォルダーの背景にメニューが出ます。
HKEY_CURRENT_USER を使うため、アクセス権の変更は不要。レジストリの ExtendedSubCommandsKey を応用して、至って簡単にカスタマイズできます。
カスケード メニューを追加
-
レジストリのキーを作成します。Subject のところは任意の名前です。
HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Subject
-
Subject キーに ExtendedSubCommandsKey(文字列値) を作成して、値のデータを、DesktopBackground にします。
たったこれだけの手順で完成。ちゃんと動作します。
お好みでメニューの表示を装飾します
Subject キーを開きます。
を themecpl.dll,-1 にします。メニューに個人設定と表示されます。
メニューにアイコンが表示されます。
(文字列値) を作成して、値のデータを Bottom にします。
これらの値のデータは任意です。元のデスクトップのメニューが参考になります。
HKLM\SOFTWARE\Classes\DesktopBackground\Shell\Personalize
元からあるデスクトップのメニューを非表示にする
HKCU のキーに LegacyDisable を書き込み無効にする方法が安全で簡単です。
HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell に、Display ,Gadgets ,Personalize キーを作成して、各々に、LegacyDisable (文字列値)を追加します。
参照元を非表示にしても、メニューの表示は有効です。
元に戻す
すべて HKCU に追加する形でカスタマイズしましたので、今回追加したキーや値を削除すれば簡単に元に戻ります。
カスタマイズは簡単ですが、理屈は難しいです。
ポイントは、Subjectキーに設定した ExtendedSubCommandsKey の使い方の一点です。
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Subject]
"ExtendedSubCommandsKey"="DesktopBackground"
"Icon"="display.dll"
"Position"="Bottom"
@="@themecpl.dll,-1"
; hide original desktop background menu
[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Display]
"LegacyDisable"=""
[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Gadgets]
"LegacyDisable"=""
[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Personalize]
"LegacyDisable"=""
以前に紹介したSubcommandsと今回のExtendedSubCommandsKeyはカスケードメニューに使える便利なオプションです。
2022年12月1日