Click here to Skip to main content
11,634,827 members (67,958 online)
Click here to Skip to main content

Add a context menu to the Windows Explorer

, 12 Apr 2005 228.4K 8.7K 139
Rate this:
Please Sign up or sign in to vote.
Add a context menu to the Windows Explorer using Registry only.

Introduction

Many of us like the convenience of the context menus in Windows Explorer and hate typing long paths in the command prompt window. This tool is going to address this issue by adding a new item on the context menu when you right click on a folder. You could get a command prompt that will open in the parent directory and not elsewhere. If you are not interested in the command prompt, then you can specify another executable of your choice as the target and still save some clicks and typing.

Background

Dealing with Explorer usually requires some shell programming that is not always nice. Fortunately, the hack I'm going to describe would merely set some registry entries to make this happen.

Using the code

The registry entries are the following:

private const string MenuName = "Folder\\shell\\NewMenuOption";
private const string Command = "Folder\\shell\\NewMenuOption\\command";

The code is self-explanatory and it merely sets the registry:

private void btnAddMenu_Click(object sender, System.EventArgs e)
{
    RegistryKey regmenu = null;
    RegistryKey regcmd = null;
    try
    {
        regmenu = Registry.ClassesRoot.CreateSubKey(MenuName);
        if(regmenu != null)
            regmenu.SetValue("",this.txtName.Text);
        regcmd = Registry.ClassesRoot.CreateSubKey(Command);
        if(regcmd != null)
                regcmd.SetValue("",this.txtPath.Text);
    }
    catch(Exception ex)
    {
        MessageBox.Show(this,ex.ToString());
    }
    finally       
    {
        if(regmenu != null)
            regmenu.Close();
        if(regcmd != null)
            regcmd.Close();
    }        
}

Or it deletes the settings if you don't like them anymore:

private void btnRemoveMenu_Click(object sender, System.EventArgs e)
{
    try
    {
        RegistryKey reg = Registry.ClassesRoot.OpenSubKey(Command);
        if(reg != null)
        {
            reg.Close();
            Registry.ClassesRoot.DeleteSubKey(Command);
        }
        reg = Registry.ClassesRoot.OpenSubKey(MenuName);
        if(reg != null)
        {
            reg.Close();
            Registry.ClassesRoot.DeleteSubKey(MenuName);
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(this,ex.ToString());
    }
}

The rest of the code only provides a sane user interface.

Points of Interest

You obviously have all the rights to change the Registry for this application to run as desired.

History

  • 12th April, 2005 - version 1.0.0.0.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

dmihailescu
Software Developer (Senior)
United States United States
Decebal Mihailescu is a software engineer with interest in .Net, C# and C++.

You may also be interested in...

Comments and Discussions

 
QuestionHow to make context menu entry dynamic? Pin
Nitin Sawant2-Dec-13 22:17
professionalNitin Sawant2-Dec-13 22:17 
QuestionSub Menu Pin
jeffingeorge26-Sep-13 1:35
memberjeffingeorge26-Sep-13 1:35 
QuestionRe: Sub Menu Pin
Marla Sukesh6-Oct-13 7:16
memberMarla Sukesh6-Oct-13 7:16 
GeneralMy vote of 4 Pin
Bharat Mallapur12-Jul-12 15:22
memberBharat Mallapur12-Jul-12 15:22 
QuestionExplorer context menu seperator Pin
Member 809151713-Feb-12 19:59
memberMember 809151713-Feb-12 19:59 
QuestionIcon Pin
JrrS885-Dec-11 19:38
memberJrrS885-Dec-11 19:38 
GeneralMy vote of 3 Pin
mohammadrefaie4-Nov-11 7:14
membermohammadrefaie4-Nov-11 7:14 
QuestionAdd a context menu to the Windows Explorer - Does not work for me Pin
subha@m9online30-Oct-11 22:08
membersubha@m9online30-Oct-11 22:08 
AnswerRe: Add a context menu to the Windows Explorer - Does not work for me Pin
fredthered27-Jan-12 2:41
memberfredthered27-Jan-12 2:41 
Questionhow can have add a customize item to right click windows 7 like winrar program Pin
syasaketi19-Oct-11 19:34
membersyasaketi19-Oct-11 19:34 
AnswerRe: how can have add a customize item to right click windows 7 like winrar program Pin
dmihailescu20-Oct-11 12:53
memberdmihailescu20-Oct-11 12:53 
GeneralMy vote of 1 Pin
syasaketi19-Oct-11 19:32
membersyasaketi19-Oct-11 19:32 
QuestionGreat - but ... Pin
Wrangly4-Jul-11 21:08
memberWrangly4-Jul-11 21:08 
GeneralDrag Drop Pin
Onur Guzel15-Nov-10 4:10
memberOnur Guzel15-Nov-10 4:10 
GeneralRe: Drag Drop Pin
dmihailescu16-Nov-10 15:31
memberdmihailescu16-Nov-10 15:31 
GeneralRe: Drag Drop Pin
Onur Guzel19-Nov-10 8:58
memberOnur Guzel19-Nov-10 8:58 
QuestionCan we add SuBemnu Pin
Bassaammm12-Aug-10 2:21
memberBassaammm12-Aug-10 2:21 
Generalfor VB.Net Pin
phowarso13-May-10 20:01
memberphowarso13-May-10 20:01 
QuestionHow to retrieve the selected folder name? Pin
giji gangadharan17-Jan-10 19:42
membergiji gangadharan17-Jan-10 19:42 
AnswerRe: How to retrieve the selected folder name? Pin
Thomas Vogel26-Mar-10 6:11
memberThomas Vogel26-Mar-10 6:11 
GeneralRe: How to retrieve the selected folder name? Pin
mostafa.elsadany25-Jan-11 8:25
membermostafa.elsadany25-Jan-11 8:25 
GeneralRe: How to retrieve the selected folder name? Pin
mostafa.elsadany25-Jan-11 8:36
membermostafa.elsadany25-Jan-11 8:36 
QuestionHow can we link our exe file while right click the menu item Pin
giji gangadharan11-Jan-10 21:44
membergiji gangadharan11-Jan-10 21:44 
AnswerRe: How can we link our exe file while right click the menu item Pin
dmihailescu12-Jan-10 12:56
memberdmihailescu12-Jan-10 12:56 
AnswerRe: How can we link our exe file while right click the menu item Pin
TristanV14-Jun-10 23:06
memberTristanV14-Jun-10 23:06 
QuestionAdd Icon to the menu item Pin
sk ghouse10-Sep-09 0:44
membersk ghouse10-Sep-09 0:44 
GeneralAdd icon to the menu Pin
Member 441027127-Apr-09 14:57
memberMember 441027127-Apr-09 14:57 
Generaladding file,edit,view,help menus to an windows application Pin
aurosikhadas1-Oct-08 1:15
memberaurosikhadas1-Oct-08 1:15 
GeneralIs it possible only windows xp and not 2000 Pin
hesaigo999ca24-Jul-08 3:38
memberhesaigo999ca24-Jul-08 3:38 
GeneralRe: Is it possible only windows xp and not 2000 Pin
dmihailescu24-Jul-08 12:52
memberdmihailescu24-Jul-08 12:52 
GeneralIt doesn't work for me [modified] Pin
Royce Fickling18-Jul-08 5:18
memberRoyce Fickling18-Jul-08 5:18 
GeneralRe: It doesn't work for me Pin
wrschmid20-Nov-08 5:18
memberwrschmid20-Nov-08 5:18 
GeneralRe: It doesn't work for me Pin
CodeMonkey853-Dec-08 3:25
memberCodeMonkey853-Dec-08 3:25 
GeneralRe: It doesn't work for me Pin
dmihailescu3-Dec-08 13:08
memberdmihailescu3-Dec-08 13:08 
GeneralRe: It doesn't work for me Pin
CodeMonkey853-Dec-08 13:42
memberCodeMonkey853-Dec-08 13:42 
QuestionIs it possible to added a menu hierarchy? Pin
maxx_delusional6-Jun-08 10:26
membermaxx_delusional6-Jun-08 10:26 
AnswerRe: Is it possible to added a menu hierarchy? Pin
dmihailescu6-Jun-08 13:25
memberdmihailescu6-Jun-08 13:25 
GeneralRe: Is it possible to added a menu hierarchy? Pin
Goran _2-Jul-08 11:43
memberGoran _2-Jul-08 11:43 
GeneralRegistry Entry throught Setup And Deployment Project Pin
MohantaD23-Nov-07 6:57
memberMohantaD23-Nov-07 6:57 
GeneralRe: Registry Entry throught Setup And Deployment Project Pin
dmihailescu6-Jun-08 13:27
memberdmihailescu6-Jun-08 13:27 
GeneralRe: Clicking on drive Pin
dae220009-Oct-07 10:58
memberdae220009-Oct-07 10:58 
Questioncontext menu in applications (notepad, word ..) [modified] Pin
balu23419-Sep-07 0:11
memberbalu23419-Sep-07 0:11 
AnswerRe: context menu in applications (notepad, word ..) Pin
dmihailescu20-Sep-07 4:53
memberdmihailescu20-Sep-07 4:53 
QuestionRe: context menu in applications (notepad, word ..) Pin
balu23420-Sep-07 18:52
memberbalu23420-Sep-07 18:52 
QuestionContext menu order Pin
twsabonrai19-Feb-07 3:50
membertwsabonrai19-Feb-07 3:50 
QuestionCommand arguments Pin
Mith-Randir26-Sep-06 3:49
memberMith-Randir26-Sep-06 3:49 
AnswerRe: Command arguments Pin
dmihailescu20-Sep-07 4:55
memberdmihailescu20-Sep-07 4:55 
GeneralRe: Command arguments Pin
Onur Guzel15-Nov-10 5:02
memberOnur Guzel15-Nov-10 5:02 
GeneralRe: Command arguments Pin
dmihailescu15-Nov-10 15:13
memberdmihailescu15-Nov-10 15:13 
Questionhow can i control in event handler Pin
syriast31-Jul-06 1:05
membersyriast31-Jul-06 1:05 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150728.1 | Last Updated 12 Apr 2005
Article Copyright 2005 by dmihailescu
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid