How to Add or Remove Entries from Context Menus in Windows?

In this tutorial, we'll tell you how to add new entries in context menus (right-click menu) and remove existing entries from context menus in Windows.

A. Type regedit in RUN dialog box or Start Menu searchbox and press Enter. It'll open Registry Editor, now go to following keys:

HKEY_CLASSES_ROOT\* (for adding an option in All files context menu)
HKEY_CLASSES_ROOT\Directory (for adding an option in folders context menu only)
HKEY_CLASSES_ROOT\Drive (for adding an option in Drives context menu only)
HKEY_CLASSES_ROOT\Unknown (for adding an option in unknown files context menu)

B. Now under the above mentioned keys, you'll find "Shell" and "Shellex" keys. Both keys contain various entries, which are displayed when you right-click on a file, folder or drive. We'll use "Shell" key in this tutorial:

  • Right-click on the "Shell" key and select "New -> Key".
  • Give it any name. Suppose we gave it name "vishal".
  • Now in right-side pane, double-click on "Default" String value and set its value to the Label which you want to display in context menu. Like if you want to add "Winamp" in context menu, then you can give it name "Open with Winamp" or similar.
  • Now create another key under this newly created key "vishal" with the name "command" and in right-side pane set value of "Default" to the path of application. For ex, for winamp you can set its value "%programfiles%\Winamp\winamp.exe".

That's it. Now you'll get it in the context menu.

A few Important points:

1. If you add just the path in "Command", then it'll open the application but if you append "%1" (without quotes) in the path, then it'll open the selected file with the application. So in case of setting the value to "%programfiles%\Winamp\winamp.exe", set it "%programfiles%\Winamp\winamp.exe %1" and now it'll open the file in winamp.

2. Step 3 can be omitted and you can assign the application name directly to the new key. i.e., either set "Default" String value to the name of application or directly set the key name to application name. e.g. instead of setting the key name to "vishal", you can directly set its name to "Winamp", in this case leave the "Default" as it is.

3. With the help of this tutorial, you can add application shortcuts in any filetype context menu. e.g., if you like to play with "*.txt" file context menu, then go to:


so you can follow this tutorial for any filetype.

C. Same methods apply for removing entries from context menu. Just go to "Shell" or "Shellex\ContextMenuHandlers" and delete the unwanted key under these keys.

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

Posted in: Windows 7, Windows Vista, Windows XP

Other similar articles that may interest you


  • Hi, can you tell me how can i customize the desktop context menu to show "New Folder" option right away at the top, instead of going through the "New" option?

  • VG

    ^^ You can edit shell32.dll file to modify appearance of context menu:

  • How can i open the shell32.dll? Can you indicate a program?

  • VG

    ^^ Resource Hacker:

  • Is it possible to add icon in context menu for shellex entry like 7-zip, which don't have icon? Or is it possible to add icons for shellex entries in context menu at all?

  • VG

    ^^ Please check following:

  • I tried to remove Edit, Print and Send To entries but there were no such keys to remove them.

  • VG

    ^^ You can do the reverse of following tutorial to get rid of Send to menu:

  • hi, I want add shortcut of 7zip into submenu of New in the contest menu. I have read article about creating new key in regedit, but I don't think it includes my case. you can explain how I can add 7zip in NEW of CONTEST MENU BY RIGHT-CLICKING OF MOUSE? I'm interesting to create new archive in a folder and to add file in an existing archive.

    I add link to image of my registry and the view of my contest menu as it is now
    (I'm from Italy, so image of contest menu is in NUOVO = NEW)

  • Hello, VG.
    When one clicks the Recycle Bin icon on the Desktop a context menu opens with the line: 'Create shortcut'. Under it there is "Rename".
    But, they are not necessary. Is it possible to remove them?
    Please, help.

  • Using only Regedit.

  • VG

    ^^ No. Those are system wide options in context menu. You can edit system files to permanently remove those options but it'll remove those options from all files/folders.

  • Thank you sooo much, got rid of "deskpdfcreate" !

  • Hi VG
    Can you tell me how to edit system files to permanently remove basic folder context menu options (or just hide them) such as "Delete". I can't find answer anywhere. All I know it is somehow connected to "command bar items ids". For example, "Delete" option has id 478. Please help!
    Best Regards

  • VG

    ^^ Of course, you can do. You'll need to edit system files using Resource Hacker. Check following topic for more idea:

  • Just done it! Thank you! VG is the best!

  • I tried this to set command as "..\MyScript.bat" %1. It didn't work. However, it works with the full pathname:

    "C:\FullPath\MyScript.bat" %1

    I need the location of the script to be on the upper directory, though. Any idea on how to solve this? Thanks.

  • (Note: I'm trying this on Windows 8.1)

  • Tercix, try first to add to system environment variable PATH path to MyScript.bat (only path!). Then just use MyScript.bat "%1"

  • System: Windows XP SP3

    I have added some .dll extension to the right-click context menu. Is there any way I can make icons appear beside those that do not show icons automatically?

    Thanks a bunch.

  • Hi.

    I would be most interested to know if you have any advice concerning modifying the InternetShortcut shell key in Windows 7 so that an .url file can be opened with Chrome (that is, with IE remaining as the default browser). This was quite easy in XP, using File Types (absent in Win7). In Win7 TrustedInstaller must be replaced by, say, the user's account. You have detail on this site on how to do this. Thank you. However, should permissions be changed not only for shell but also higher up (eg SYSTEM by default owns the InternetShortcut key), or elsewhere? If so, which keys? Finally, should they all be returned to the default owner after the modification for Chrome?

    The issue of Chrome maybe not opening .url files properly is dealt with within Chrome by an extension (".URL Handler").

    But doing the right registry fix in Win7 is quite tricky. It is a question of knowing which permissions to change and whether or not to change them back, after the edit.

    Any ideas would be read with great interest.


Leave a Comment