コンテキストメニュー(右クリックメニュー)の階層化
ファイルシステムオブジェクトのコンテキストメニューに「メニュー+コマンド」を追加
目標:ファイルを右クリックすると以下のコンテキストメニューが表示される。
Operation.1
レジストリエディタを起動する。
Operation.2
コンテキストメニュー「Test Menu」を追加する。
Operation.2-1
「HKEY_CLASSES_ROOT\*\shell」で右クリックし、「新規>キー」を選択する。
Operation.2-2
「HKEY_CLASSES_ROOT\*\shell」配下に新しいキーが作成されるため、「TestMenu」と名前を変更する。
Operation.2-3
「HKEY_CLASSES_ROOT\*\shell\TestMenu」で右クリックし、「新規>文字列値」を選択する。
Operation.2-4
文字列値を以下のように変更する。
名前:MUIVerb
データ:Test Menu
Operation.2-5
Operation.2-3と同様に「HKEY_CLASSES_ROOT\*\shell\TestMenu」で右クリックし、「新規>文字列値」を選択する。
Operation.2-6
文字列値を以下のように変更する。
名前:SubCommands
Operation.2-7
エクスプローラを起動し、適当なファイルを右クリックすると「Test Menu」が表示される事を確認する。
「>」も表示されているが、ここまでの設定ではまだ階層化に至っていない。
Operation.3
「Test Menu」の配下にコマンド「Test Command 1」「Test Command 2」を追加する。
Operation.3-1
「HKEY_CLASSES_ROOT\*\shell\TestMenu」で右クリックし、「新規>キー」を選択する。
Operation.3-2
「HKEY_CLASSES_ROOT\*\shell\TestMenu」配下に新しいキーが作成されるため、「shell」と名前を変更する。
Operation.3-3
「HKEY_CLASSES_ROOT\*\shell\TestMenu\shell」で右クリックし、「新規>キー」を選択する。
Operation.3-4
「HKEY_CLASSES_ROOT\*\shell\TestMenu\shell」配下に新しいキーが作成されるため、「TestCommand1」と名前を変更する。
またデータを「Test Command 1」と変更する。
Operation.3-5
「HKEY_CLASSES_ROOT\*\shell\TestMenu\shell\TestCommand1」で右クリックし、「新規>キー」を選択する。
Operation.3-6
「HKEY_CLASSES_ROOT\*\shell\TestMenu\shell\TestCommand1」配下に新しいキーが作成されるため、「Command」と名前を変更する。
またデータを「cmd.exe /k "ECHO Test Command 1"」と変更する。
Operation.3-7
同様の手順で「Operation.3-4~3.6」を繰返し、「Test Command 1→Test Command 2」「TestCommand1→TestCommand2」と適宜置換する。
Operation.3-8
エクスプローラを起動し、適当なファイルを右クリックすると「Test Menu」の配下が表示される事を確認する。
「Test Command 1」を選択するとコマンドプロンプトが起動し、「Test Command 1」と出力される事を確認する。
Operation.3-9
レジストリエディタの階層は以下の通りになる(※当該個目の範囲外は省略)。
HKEY_CLASSES_ROOT
└*
└shell
└TestMenu
└shell
├TestCommand1
|└Command
└TestCommand2
└Command