Manage the context-menu entries for files, folders, drives and Namespace objects
Published on: Mar 14, 2004Updated on : Feb 17, 2009
Send your feedback
Context Menu entries
When you right-click a file or folder, you'll see the list of context menu items out of which some may be invalid. For instance, when you uninstall a software the corresponding entries may not be removed sometimes.
The unwanted entries from the right-click menu can be removed using specialized tools, or manually using the Registry Editor.
Managing the Context Menu Entries using Specialized Tools (Recommended)
Most of the static menu entries in the right-click menu can be managed using the File Types tab (Folder Options) in Windows XP and earlier. Additionally, here are two excellent tools from NirSoft to manage the right-click menu.
ShellMenuView is a small utility that display the list of static menu items that appeared in the context menu when you right-click a file/folder on Windows Explorer, and allows you to easily disable unwanted menu items.
ShellExView utility displays the details of shell extensions (DLLs) installed on your computer, and allows you to easily disable and enable each shell extension.
Managing the Context Menu Entries manually using the Registry (For "Advanced" users)
* HKCR refers to HKEY_CLASSES_ROOT
Backup the Registry first
This entire article discusses about editing the registry to modify the context menu entries for an object. Before modifying the registry, it's advisable to create appropriate backups. Start Regedit.exe and navigate to the key which you want to modify. Look under each of the sub-keys for the context-menu entry name which you want to remove. Before deleting the key, backup the corresponding branch if you want to undo the changes later. As you're not modifying various parts of the registry, exporting the related subkey should be enough. Once done, delete the sub key and the context menu is gone.
To know how to backup the registry completely, see the following pages:
Directory
The context-menu entries for Directories is built from these locations in the registry. The same applies for the Start button in the Taskbar
-
[HKCR\Folder\Shell\]
-
[HKCR\Folder\ShellEx\ContextMenuHandlers\]
-
[HKCR\Directory\Shell\]
-
[HKCR\Directory\ShellEx\ContextMenuHandlers\]
-
[HKCR\AllFilesystemObjects\shell\]
-
[HKCR \ AllFilesystemObjects \ shellex \ ContextMenuHandlers\]
Some more obscure locations - Based on the FolderType Template
For Music folders, the context menu loads from this additional location:
-
[HKCR\SystemFileAssociations\Directory.Audio\shell\]
-
[HKCR\SystemFileAssociations\Directory.Audio\shellex\ContextMenuHandlers\]
For Video folders
-
[HKCR\SystemFileAssociations\Directory.Video\shell\]
-
[HKCR\SystemFileAssociations\Directory.Video\shellex\ContextMenuHandlers\]
For Picture folders
-
[HKCR\SystemFileAssociations\Directory.Image\shell\]
-
[HKCR\SystemFileAssociations\Directory.Image\shellex\ContextMenuHandlers\]
Drives
To remove the context-menu entries for Drives, the following are the paths:
- [HKCR\Drive\Shell\]
- [HKCR\Folder\Shell\]
- [HKCR\Drive\ShellEx\ContextMenuHandlers\]
- [HKCR\Folder\ShellEx\ContextMenuHandlers\]
Namespace objects
To remove the context-menu entries for Namespace icons (My Computer, Recycle Bin etc), check here:
- [HKCR\Folder\Shell\]
- [HKCR\Folder\ShellEx\ContextMenuHandlers\]
- [HKCR\CLSID\{Namespace-CLSID}\shell\]
- [HKCR\CLSID\{Namespace-CLSID}\ shellex \ ContextMenuHandlers\]
Example - For My Computer the key would be:
- [HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shellex\ContextMenuHandlers\]
Files
The context-menu entries for Files are built from the following registry locations:
- [HKCR\<ProgID>\shellex\ContextMenuHandlers\]
- [HKCR \*\shellex\ContextMenuHandlers\]
- [HKCR\*\shell\]
- [HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\]
To remove the WinZip related context-menu entries, seen on the picture, you need to remove the entries here:
[HKCR\*\shellex\ContextMenuHandlers\WinZip]
Example: For Shortcuts (.lnk files), the context-menu is built from:
- [HKCR\lnkfile\shellex\ContextMenuHandlers\]
- [HKCR\exefile\shell\]
- [HKCR\exefile\shellex\ContextMenuHandlers\]
- [HKCR\AllFilesystemObjects\shell\]
- [HKCR\*\shell\]
- [HKCR\*\shellex\ContextMenuHandlers\]
- [HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\]