Add Cascading Menus for Programs in Desktop and My Computer Context Menus in Windows 7 and Later

UPDATE: This tutorial will also work in Windows 8 and later OS versions.

We have posted several tutorials in past which help in adding your favorite programs shortcuts and other useful system shortcuts in Windows 7 Desktop context menu. Some of them are as follows:

Some AskVG readers complained that all these tutorials add the programs shortcuts in the main Desktop context menu which makes the whole menu large. They asked a method to add cascading menus in Desktop context menu.

I liked the idea and I tried to create cascading menus containing programs shortcuts which also helps in grouping the programs. For example, you can create different cascading menus like Applications, Browsers, Media Players, System Shortcuts and when you hover your mouse cursor over them, they open a list containing all your favorite programs. In this way, it'll not make the main context menu large as shown in following screenshots:



So today in this tutorial, you'll learn how to create cascading menus in Windows 7 Desktop and My Computer context menus.

This tutorial has been divided in 2 parts:

  • Creating cascading menus and adding programs shortcuts
  • Adding functionality to the shortcuts by registering them

So without wasting any time, here we start the tutorial:

PART 1: Creating cascading menus and adding programs shortcuts

1. Type regedit in RUN or Start Menu Search box and press Enter. It'll open Registry Editor.

2. Now go to following key:


PS: If you want to add the cascading menu in My Computer context menu instead of Desktop context menu, then go to following key instead of the above mentioned key:


3. Now we'll need to create a new key under "Shell" key. Right-click on "Shell" key and select "New -> Key". Give the new key any desired name e.g. "Menu1" (without quotes).

PS: If you receive error message while creating new key, take ownership of the "Shell" key with the help of following tutorial:

[Guide] How to Take Ownership (Permission) of a Registry Key in Windows?

4. Now select this newly created key "Menu1" and in right-side pane, we'll need to create following 4 String values:

  • MUIVerb
  • SubCommands
  • Icon
  • Position

Icon and Position are optional but MUIVerb and SubCommands are compulsory.

MUIVerb contains the name of cascading menu which will be displayed in the context menu. You can set its value to any desired name like Apps, Browsers, etc. Feel free to set any name.

SubCommands contains list of commands separated by semi-colon (;) which you want to show under cascading menu. You can't add any program shortcut directly. First you'll need to give any desired command name in this list and after that you'll need to register it using PART 2 so that it can start working.

5. If you are confused about "SubCommands" String value, this point will clear all your doubts.

Suppose you have created a cascading menu "Apps" using Step 3 and now you want to add Notepad and Calculator shortcuts under it. In this case, you'll need to set following as "SubCommands" value:


Above value can be changed according to your requirement. You can use np;ca instead of notepad;calc. But you'll have to use the same name while registering those commands using PART 2.

PS: If you want to put a separator between menus, just use Pipe symbol (|) between commands. For example, notepad;|;calc. Thanks to our reader "e01Z" for this trick...

6. Icon String value can be used to show an icon for your cascading menu. In our example, we have set its value to explorer.exe that's why its showing Windows Explorer icon for the "Apps" cascading menu.


7. Position String value can be used to define the position of cascading menu in the context menu. By default the cascading menu is shown in the middle but you can set its position at Top or Bottom with the help of "Position" String value.

8. You can create more than one cascading menus using Step 3 and 4.

PART 2: Adding functionality to the shortcuts by registering them

Once you have added the program shortcuts to cascading menus, you'll need to register the commands mentioned in "SubCommands" String value using following method:

1. Go to following key:


2. Under this key, we'll need to create new keys for each command mentioned in "SubCommands" String value.

In our example, we used 2 commands notepad and calc, so we'll need to create 2 keys under "CommandStore\Shell" key with the same names notepad and calc.

PS: If you receive error message while creating new key, take ownership of the "Shell" key with the help of following tutorial:

[Guide] How to Take Ownership (Permission) of a Registry Key in Windows?

3. Once you create the key, select it and in right-side pane set value of "(Default)" to the name which you want to show in cascading menu. For example set its value to Notepad or Calculator or any other desired string.

4. If you also want to show an icon for it, create a new String value with the name icon and set its value to program's EXE file path or any other desired icon. For example, to show Notepad icon for Notepad shortcut, you can set value of Icon to notepad.exe

5. Now final step! Create a new key under the recently created keys, e.g. notepad or calc and give it name command.

Click on it and in right-side pane, set value of "(Default)" to the path of your desired program's EXE file. For example, if you want to open Notepad when you click on "Notepad" entry in cascading menu, set value of "Command" to notepad.exe


PS: Notepad is a Windows application, so you can omit the full path but if you want to execute any 3rd party program, you should give full path of its EXE file.

That's it. Now you'll see your desired cascading menus containing your favorite programs shortcuts in Desktop or My Computer context menus.

BONUS: Ready-Made Registry Script

If you are still confused or afraid in following the above method, you can copy following code, paste in Notepad and save it with the name "cascade.reg" (including quotes). Run the saved file and it'll add Notepad and Calculator in a cascading menu "Apps" in Desktop or My Computer context menus:

For Desktop context menu:

Windows Registry Editor Version 5.00






For My Computer context menu:

Windows Registry Editor Version 5.00






If you want to add any other program shortcut or want to change the names of cascading menu or program shortcuts, you just need to change the part mentioned in BOLD.

NOTE: If you want to remove the cascading menus, simply delete the keys created in Step 3 under PART1 and Step 2 under PART2.

Further Read:

Share this article: Facebook | Twitter | Google+ | Reddit | Tell a friend

Posted in: Windows 7, Windows 8 / 8.1

Other similar articles that may interest you


  • Hello Vishal, great Tutorial!

    Helped me alot to understand how the context menu interacts with the registry.

    Unfortunately I have the same problem as Toni. There are programs that put themselves in the context menu, but where the interaction with the registry and/or dlls are unclear. In that case it is impossible to delete and then recreate the contextmenu entry in a submenu.

    E.g. Avira Antivir adds an entry in the context menu "Scan selected files with antivir". I have tried to see what parameters are used to start the program with Process Monitor. In case of Malwarebytes I succeeded in this way. But with antivir it's impossible for me.

    Before the program is started, the file gets magically copied to c:\..., renamed and then antivir is started with some parameters and the new path to the file. I can't figure out how the file copying/renaming is triggered and so I cannot recreate the context menu entry.

    I would either like to have a way to move the entry that is allready there or find out what is happening, so that I can work the rest out myself.

    I think there is some kind of deeper integration into the context menu happening here, than is commonly seen. Also the registry entries for avira can't give me a clue as to what is happening. I would really like to have my security programs such as avira and malwarebytes bundled in a submenu, because they are seldomly used, but still useful in some cases.

    Maybe what I ask for is impossible, but if it is I would really like for someone to end my journey on this one.

  • VG

    ^^ I'm not sure but you can try 3rd party software to re-arrange context menu options:

  • how to disable shift + right click context menu . as in move all those options to just plain right click. then i can do my own flyouts and cascading menues. BEACAUSE I DONT WANT TO HAVE TO STRECH MILES FOR 1 DAM KEYBOARD BUTTON so silly !!!! as i am a mouse only\mostly person , thankyou ...............

  • hello VG, i want to know if there is any application that can do that easily?

  • hi bry. You can use ShellEx and ShellEx View and ShellMenu View to enable and disable context handlers and all kinds of things, bit like autorun. Also check out ccleaner's tools (startup) I've used these in conjunction to manage etc. Still trying to work out how to sort order.

  • The obove solution is nice but i am looking for something a little different.
    I want an icon on the desktop that when hovering above opens a menu with links (like the startmenu) in witch i can place my shortcuts to my program's.

    Now i can make a folder on the desktop with links to my programs.
    The problem is that i can not make a window with a list without the menu and in a different window have icons with the menu.
    Windows 7 makes ALL windows the same. When you maximize one window, all windows are maximized. When you make a window with icons, all windows have icons.

    Could you give me a solution for this problem?

    Thank you

  • Hey!

    Is there any way to run folders using context menu?
    Nothing works fine.

    When using "explorer.exe" as a command, everything is okay.
    But it only opens Libraries.
    I wish i could use it to open "Downloads", "Music", "Pictures".
    When i create NEW SHORTCUT (%WinDir%\Explorer.exe D:\Downloads) it opens location "D:\Downloads".

    But when i use the way you described here, nothing happens.
    Is there any way to do that?

    Best regards,


  • It's me, again :)

    Her's piece of code i used:


    @="explorer.exe D:\Downloads"

    Why doesn't it work?
    Have any idea?



  • VG

    ^^ Use following syntax:

    explorer "D:\downloads"

  • Thanks for Your reply!

    Unfortunately this doesn't work either.
    Nothing happens.

    I want to have my desktop as minimalistic as possible, that's why i decided to remove all shortcuts.
    Using START and serching folders everytime is killing me..

    I think there's nothing else i can do.
    Since i can only run .exe using this method, it's tme to use Dev C++.

    Thank you for Your help.
    If You have any other ideas, please share :)

    All the best!

  • VG

    ^^ I tried that command and it worked for me. Try to use the shortcut using following method:

  • I tried command from link You posted.
    It works, but command includes .exe file. There is no direct path (switch or whatever else it might be called).

    It would be nice if You could post .reg file with working command (explorer.exe D:\Downloads).



  • VG

    ^^ Here you go:

    Windows Registry Editor Version 5.00


    @="explorer \"D:\\Downloads\""

  • if I need to add a program to all the Right CLick menu, i.e., inside a folder, desktop, drive etc...

  • actually I am trying to add NewFolder to the RightClick menu, is that possible...

  • VG

    ^^ Check following:

  • Thanks it was helpful :)

  • I followed all instructions carefully, on my right click menu the cascading menu i created shows up, but when i hover over it, it does nothing! even clicking1 what shall i do?

  • I wrote my own application to display the selected file path & its properties & added it to context menu. I am able to send %1 as the current selected files path but when I select multiple files & open for every selected file one new instance of application is created. How to send multiple arguments(like %*) to a particular command?

  • How can I do the opposite? I want to STOP the cascading. Is there a ways or a file that will make my new windows open on top of each other? E.g, when I have Firefox open, I want every firefox window to open in the identical place and stacked. Likewise, I want Picasa to always open at the same place and on top of each other. Etc.

    I find I'm spending to much time resizing and moving the windows where I want them, and W7 won't learn.

    Previous Windows learned by holding down the Ctrl key while Xing.

    Thanks for any help you can give me.

  • VG

    ^^ Sometimes Windows doesnt remember program windows positions and size. If you quickly want to resize windows, you can take help of various options present in Taskbar context menu such as cascade windows, show windows side by side, etc.

  • Please, is there any way to restore the send-to menu cascading function, which w98 had, to the send-to menu in w7/w8? The copy/move-to context items are horribly clonky and slow (are they from w95?). You could just copy your entire folder hierarchy (empty folders of course) into the 'send to' menu and drill straight down to where you wanted to put a file. And at bottom level, or better a seperate top level folder, shortcuts to all your .exe 's let you open a file with any programme you wanted, avoiding the stupid modern 'open with' dialogue. Please!!

  • VG

    ^^ You should try following:

  • Thanks VG, but looked at that thread already; I'm not after extending the send to menu by making it longer, although it's easy enough to put extra items in it, and I have a shortcut to it on the desktop to make access easy.
    No, in W98 it was possible to put folders into the sendto menu, and fill these with shortcuts to lower level folders in your filing system (continuing down several levels if you wanted); and these folders and eventually shortcuts cascaded from the sendto menu, just as the sendto menu cascades from the context menu; so that the sendto menu could basically be a copy of your folder hierarchy. But if you put a folder in W7 sendto menu, it doesn't open and clicking on it just puts things in that folder!

  • Thanks, worked smoothly.

  • Just for your information.

    You can have cascaded context menu icons for folder windows by doing the same thing in this key in Step 2 of Part 1:


  • As a demonstration, here is the registry entry for adding Calculator and regedit to the folder window's context menu.

    NB: Note that items added using this method also appear on the desktop's context menu.


    Windows Registry Editor Version 5.00




    @="Registry Editor"


  • Please help me out i am trying to add god mode on windows 10 to a cascading context menu.

  • VG

    ^^ Check following:

    You can use similar steps for cascading menu.

  • Unfortunately after the latest Windows 10 update (1115) the cascading menus for 'This PC' (and network, too) all disappeared. Not only because the update cleared the registry; even after reimporting the above snippets (I've double checked they definitely do appear in my registry again) there is absolutely nothing in the context menu of CLSIDed icons ('This PC' and 'Network', just to name two of them). Single context menu items (no cascaded) don't work either.

    Context (even cascaded) for DesktopBackground, Folder, AllFiles (*) do still work.

    Has MS silently changed the CLSIDs of some desktop objects? Is there a hidden registry switch preventing some of the context items to show up? To be sure I've checked the according Group Policy switch, its status is 'undefined'.


    Glad for any hints.

  • How does this compare to the simple route of creating a custom toolbar which then sits on the task bar and can be managed (including copied for backup) using simple Windows Shortcuts?
    Step 1. Create a folder, I called mine "My Tools", and fill it with the shortcuts to whatever files, programs or folders you wish. Step 2, Right-click on the Taskbar, select Toolbars - New Toolbar - and locate the folder you created in step 1. Note that the folders can have sub-folders as you wish. Very Simple and straight-forward without the need to edit the registry.
    Perhaps users may prefer this option?

Leave a Comment