◆ レジストリを追加
  ◆ HKEY_CLASSES_ROOT\(target)\shell\(command name)
◆ サブメニューを作るなら SubCommands か ExtendedSubCommandsKey

右クリックメニューを追加したい

ソースコードのファイルは基本エディタで開くように関連付けをしています
しかし そのファイルを即実行したいということもあります
ダブルクリックを実行の方にしてしまうと 間違って実行してしまうリスクもあるので 基本はエディタにしたいです
かと言って コンソールから実行は面倒です

ということで 右クリックメニューに指定のプログラムで実行できるものを作ります
「Node.js で実行」「PHP で実行」「Python で実行」のようなものです
言語ごとに並ぶと右クリックメニューが長くなって邪魔なので プログラムで実行するグループを作って そのサブメニューとして表示します
Windows のデフォルトに「プログラムから開く」が存在しますが これは自動で項目が変わりますし 自分用にカスタマイズしづらいので使いません

右クリックメニューの追加方法

右クリックメニューは

HKEY_CLASSES_ROOT\(右クリック条件名)\shell\(名前)

のレジストリに登録します
「右クリック条件名」 のところには拡張子の 「.js」 やフォルダの 「Folder」 や全拡張子のファイルの 「*」 などが入ります
「名前」 には好きな名前をつけます

拡張子なしのファイルもありますし 拡張子ごとにつくるのは手間なので 全ファイル * に対してプログラム名を並べることにします
プログラムで実行するものなので 名前は 「run」 にします
レジストリの場所は⇩になります

HKEY_CLASSES_ROOT\*\shell\run

サブメニューを作る場合はここに SubCommands か ExtendedSubCommandsKey を作ります

SubCommands

SubCommands の場合は

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore

の場所にあるコマンドストアからサブメニューに並べるコマンドを 「;」 区切りで書きます
コマンドストアの 「shell\(名前)」 の 「名前」 がコマンド名です
デフォルトで用意されてる Windows.XXXX が並んでいるのでそのコマンドを指定しても良いですし 自分でここに新規に作っても良いです

ググって見ると Subcommands を作ったキーの中に書けば良いと書いてるところもありましたが 間違いです

HKEY_CLASSES_ROOT\*\shell\run\shell\(名前)

を作っても認識されません
コマンドストアの場所に作る必要があります

ExtendedSubCommandsKey

コマンドストアの場所ではなくて好きなところに作りたい場合は ExtendedSubCommandsKey を使います

ExtendedSubCommandsKey にはレジストリの場所を書きます
そのキーの 「shell\(名前)」 すべてがサブメニューになります
パスは HKCR の次から書けるので

*\shell\run\sub

のように書けます
この例だと run の中の sub というキーをサブコマンドの場所としているので コマンドストアみたいな外部を変更しなくても 新規に作った 「*\shell\run」 の中だけの変更で済みます

右クリックメニューから実行するレジストリ設定

今回の目的のものを ExtendedSubCommandsKey で作ったものがこれです

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\run]
@="Run"
"ExtendedSubCommandsKey"="*\\shell\\run\\sub"

[HKEY_CLASSES_ROOT\*\shell\run\sub]

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell]

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\node]

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\node\command]
@="node \"%1\""

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\python]

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\python\command]
@="py \"%1\""


ファイルを右クリックすると 「Run」 が増えていてカーソルを合わせるとサブメニューに 「node」 と 「python」 が出ます
それぞれをクリックすると Node.js と Python でファイルが実行されます

PHP も追加するなら

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\php]

[HKEY_CLASSES_ROOT\*\shell\run\sub\shell\php\command]
@="php \"%1\""


を追加すればできます
こんな感じで簡単に追加していけます