Jump to content

Add option to right click context menu


Wuhtzu

Recommended Posts

Hey

I would like to add an option / entry to the right click context menu. What I want is an option / entry which opens the file I right click on in a certain program.

Here is an example. The editor UltraEdit-32 adds an option which just opens the file in the editor. It shows when I right click on any file type.

right_click_context_menu.jpg

Is it possible to create something similar for any given program? (of course I know the location of the programs executable and I know how to use the registry editor). Just for the record I use Windows XP SP2 EN.

Any ideas, thoughts, links, methods ect. would be greatly appreciated :)

Best regards

Wuhtzu

Link to comment
Share on other sites


Sorry to be noobish, but they dont like it when you double post, just edit your first post.

I could only find a program to remove options from right click. I'm sure theres a way to do it in the registry.

Edited by tal ormanda
Link to comment
Share on other sites

Let say you want to associate ISO files with UltraISO. First, create a new file type called .iso using this registry entry:

[HKEY_CLASSES_ROOT\.iso]
@="UltraISO"

This tells XP that .iso are associated with UltraISO. Now, you need to define UltraISO as another registry entry that tells XP what to do:

[HKEY_CLASSES_ROOT\UltraISO]
@="UltraISO File"

The above calls yoru ISO files "UltraISO file".

[HKEY_CLASSES_ROOT\UltraISO\DefaultIcon]
@=hex(2):22,00,25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,74,\
00,25,00,5c,00,52,00,65,00,73,00,6f,00,75,00,72,00,63,00,65,00,73,00,5c,00,\
49,00,63,00,6f,00,6e,00,73,00,5c,00,49,00,53,00,4f,00,2e,00,69,00,63,00,6f,\
00,22,00,00,00

This tells XP what icon to display for the ISO file type. It's in hex form because it's expandable. Import this and then change the value to your liking then export it back to save it.

[HKEY_CLASSES_ROOT\UltraISO\shell]

[HKEY_CLASSES_ROOT\UltraISO\shell\open]
@="&Open"

[HKEY_CLASSES_ROOT\UltraISO\shell\open\command]
@=hex(2):22,00,25,00,70,00,6f,00,72,00,74,00,61,00,70,00,70,00,73,00,25,00,5c,\
00,55,00,6c,00,74,00,72,00,61,00,49,00,53,00,4f,00,5c,00,55,00,6c,00,74,00,\
72,00,61,00,49,00,53,00,4f,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,25,\
00,31,00,22,00,00,00

The above tells what command to run - basically a path to your ultraiso.exe program. Again, it's in hex form because it's expandable. Import it, edit the program location and export it back.

That adds a right-click item for UltraISO.

Of course, you don't have to create a new file type. You can use an existing file type, such as .txt and add your favorite notepad as an alternative to windows notepad.

Link to comment
Share on other sites

  • 1 month later...

if this helps here is what i am currently using..........

this will add ResHacker (for example) to the context menu when right clicking on the correct file (i also add one for FoxIt Reader that will open pdf files when right clicking on them)...................

ResHacker Added to Context Menu

[HKEY_CLASSES_ROOT\*\Shell\ResHacker]
@="ResHacker"

[HKEY_CLASSES_ROOT\*\Shell\ResHacker\command]
@="\"C:\\Projects\\ResHacker\\ResHacker.exe\" \"%1\""

FoxIt Reader Added to Context Menu

[HKEY_CLASSES_ROOT\*\Shell\FoxIt Reader]
@="FoxIt Reader"

[HKEY_CLASSES_ROOT\*\Shell\FoxIt Reader\command]
@="\"C:\\Program Files\\Foxit Software\\Foxit Reader\\FoxIt Reader.exe\" \"%1\""

Link to comment
Share on other sites

Here are some general guidelines on how to add items to context menu:

Now let's say you want to add an option to DLL file context menu called "Register" (which registers the DLL file), follow these steps:

1. Locate the extension name.

In the Registry Editor, under HKEY_CLASSES_ROOT, locate the key named .dll. If this key doesn't exist, create it. (Note that it is prefixed by a period (.))

2. Find the file type name.

Click on the .dll key on the left pane. On the right pane, you will see the file type name to the right of "(Default)". In this case, you will see dllfile. Navigate to the key with that name. (again, create one if it doesn't exist)

3. Under dllfile, create a sub-key and name it shell (No need to create if it's already there)

4. Under shell, create a sub-key and name it Register. This is what you will see on the context menu when you right click on a DLL file.

5. Under Register, create a sub-key and name it command. This is where you specify the command to execute when you click on "Register"

6. Click on command on the left pane, double-click (Default) on the right pane and type in regsvr32.exe "%1" ("%1" is the DLL file you right-click on)

7. Done. Now when you right click on any .DLL file in Explorer and select "Register", the DLL file will be registered.

You can create your own context menu options with similar fashion, as long as you located the right key, added shell\menuitem\command sub-keys and typed in the appropriate command.

Hope this helps.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...