How to Create Cascading Menus with the SubCommands Registry Entry
In Windows 7 and later, you can use the SubCommands entry in the registry to create cascading menus by using the procedure given in this topic.
Create a new subkey under HKEY_CLASSES_ROOT\ProgID\shell, where ProgID is the file type for which you want to add a cascading menu. You can name this new subkey anything you'd like. For the remainder of this topic, we'll call it CascadeMenu, as shown in the following example.
HKEY_CLASSES_ROOT ProgID shell CascadeMenu
Add an entry named "MUIVerb", of type REG_SZ or REG_EXPAND_SZ, to the CascadeMenu subkey. Assign this entry a string value such as "Test Cascade Menu". Normally, this string is provided as a resource reference in the form "@file, resource". The (Default) value for the CascadeMenu subkey should not be set.
HKEY_CLASSES_ROOT ProgID shell CascadeMenu (Default) MUIVerb = Test Cascade Menu
Add an entry named "SubCommands", of type REG_SZ or REG_EXPAND_SZ, to the CascadeMenu subkey. Assign this entry a semicolon-delimited list of the verbs that should appear on the menu, in their desired order of appearance.
HKEY_CLASSES_ROOT ProgID Shell CascadeMenu SubCommands = Windows.delete;Windows.properties;Windows.rename;Windows.cut;Windows.copy;Windows.paste
Populate the CommandStore subkey with verb implementations for any custom static verb implementation methods that you've used in your SubCommands entry; for example:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Explorer CommandStore Shell VerbName command (Default) = notepad.exe %1