ExtendedSubCommandsKeyの使い方
前回のSubcommands が HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStoreからの参照だけなのに対して、ExtendedSubCommandsKeyは、参照先を指定できます。
参照先がHKEY_CLASSES_ROOTに変わっただけでほとんどSubcommandsと同じで併用もできます。 Shell コマンドだけというのも同様。
…だと思います。
かなり自信がありません。参考程度にお願いします。(文末に言い訳あり)
例に挙げたものについては動作を確認しましたが、例1の他のキーは呼び出せない場合があります。例2については注意点がありますが大丈夫だと思います。
フォルダーの背景にExtendedSubCommandsKeyでメニューを追加してみます。例1 既存のメニューを呼び出す。
フォルダーの背景にmyShell (適当な名前)キーを作成します。
HKEY_CLASSES_ROOT\directory\BackGround\shell\myShell

ExtendedSubCommandsKey(文字列値)を作成して、DesktopBackgroundにします。

Window 7 のデスクトップのメニューを呼び出しています。
HKEY_CLASSES_ROOT\DesktopBackground\Shell

例2 独自にメニューを設定しておく
HKEY_CLASSES_ROOT\MyTools (適当な名前)キーを作成して、Shellコマンドを設定しておきます。
フォルダー オプション を設定してみました。control folders

この時、項目のキーの(既定)かMUIVerb値で名前を設定しておかないと表示されません。


HKEY_CLASSES_ROOT\directory\BackGround\shell\myShell
ExtendedSubCommandsKey (文字列値)を作成して、MyToolsにします。


Subcommandsのように ; (セミコロン)でメニューを並べることはできません。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MyTools\shell\FolderOption]
"Icon"="%SystemRoot%\\system32\\imageres.dll,-166"
"MUIVerb"="@%SystemRoot%\\system32\\shell32.dll,-22985"
[HKEY_CLASSES_ROOT\MyTools\shell\FolderOption\command]
@="control folders"
;
[HKEY_CLASSES_ROOT\directory\BackGround\shell\myShell]
"ExtendedSubCommandsKey"="MyTools"
[HKEY_CLASSES_ROOT\MyTools\shell\FolderOption]
"Icon"="%SystemRoot%\\system32\\imageres.dll,-166"
"MUIVerb"="@%SystemRoot%\\system32\\shell32.dll,-22985"
[HKEY_CLASSES_ROOT\MyTools\shell\FolderOption\command]
@="control folders"
;
[HKEY_CLASSES_ROOT\directory\BackGround\shell\myShell]
"ExtendedSubCommandsKey"="MyTools"
弁明
Windows 7 で ExtendedSubCommandsKeyが使われているのは、おそらく一カ所だけです。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Windows.Share
しかもそのデータのShareCommandsというキーは見つからず、全く参考になりませんでした。ネタの元の説明の文章は難解な上、どうも間違っている模様。
探しに探した結果見つかったのはこちらのサイトさんで、もっとも的確な答えだと思いますが、ここだけでしか見つからなかったです。
(質問はまま見つかりましたが、答えが…)