Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I go about adding a program to every files right click "open with..." list in Windows 7?

For example; I like to regularly view files in HxD hexeditor; there are various types of files I do this for. How do I add to every single file type on the system that HxD would be in every single files "open with..." menu?

share|improve this question
up vote 6 down vote accepted

Short answer is: with great difficulty.

Longer answer:

In the registry under HKEY_CLASSES_ROOT you'll find an entry for each registered file extension. You need to add a key called "OpenWithProdids" to each file extension that you want to handle. Within this key you then need a string value where the name is the ProgId for the HxD.

There is a much easier way, however. If you put a shortcut to HxD in C:\Users\\AppData\Roaming\Microsoft\Windows\SendTo, then for ANY file in the system you can right-click, and then pick Send To->HxD from the context menu.

share|improve this answer
    
Thanks for the reply; was hoping that I didn't have to go through that long process – abc123 May 27 '11 at 1:23
    
you can have shorter process by using a tool. Check my post below ;) – nXqd May 28 '11 at 20:49
    
And if you put a shortcut to the SendTo folder in the SendTo folder, you can send a program to the SendTo folder, and it'll put a shortcut there. (The easiest way to do that is to create the shortcut on the desktop, then move it into the SendTo folder.) Saves you from always having to navigate to the SendTo folder to put shortcuts in there. – RobH 14 hours ago

Put the following in a text file and name it something like Add HxD to Context Menu.reg, update the paths, save it, and run it.

REGEDIT4

[HKEY_CLASSES_ROOT\*\Shell\HxD]
@="&HxD"

[HKEY_CLASSES_ROOT\*\Shell\HxD\Command]
@="\"C:\\Program Files\\HxD\\HxD.exe\" \"%L\""
share|improve this answer

You can use the ShellExView tool for this.

share|improve this answer
    
As far as I am aware, ShellExView only allows you to enable/disable existing menus; it does NOT allow you to create new ones. The answer by @Synetech is the correct way to add new ones. – Alex Nov 5 '15 at 5:22

This likely is not correct, but something in this manner should work.

 REGEDIT4

 [HKEY_CLASSES_ROOT\HxD]

 [HKEY_CLASSES_ROOT\HxD\shell]

 [HKEY_CLASSES_ROOT\HxD\shell\open]

 [HKEY_CLASSES_ROOT\foo\shell\open\command]
 @="\"C:\\Program Files\\Application\\HxD.exe\" \"%1\""

Doing (something like) this should add a context menu (but that may not actually be there in what I've posted?) that should display for every file type, allowing you to open the file with HxD.

Vim does this providing an "Edit with Vim" context menu for all file types.

(There are other Registry keys where the same sort of thing can also be accomplished.)

Someone more knowledgeable should be able come up with the actual working solution.

share|improve this answer
    
These are the types of Registry entries that Vim makes, pastebin.com/a1ydzniP. Thinking it should be able to be adapted, simplified for other apps. – therube May 28 '11 at 17:03

Default programs list appears when opening unknown file type. If file already has association then you must go to the 'Open With' menu. Expand it to see full list of default programs. Snippet from batch script that adds foobar to list of default programs:

reg add "HKCU\Software\Classes\*\OpenWithList\foobar2000.exe" /f
reg add "HKCU\Software\Classes\Applications\foobar2000.exe\shell\open\command" /ve /d "\"%SCRIPTDIR%media\foobar2000\foobar2000.exe\" \"%%1\"" /f
share|improve this answer
1  
Have you tested this? My experience on Windows 7 is that it doesn't work. I have a pretty good idea why as well, so it isn't surprising. What's surprising is that many program do register there, in vain. – Norswap Jan 10 '15 at 1:02

This will create a new "Open with Notepad" item on your context menu. "Open with" is more intuitive (and more correct) than "Send to". And it does not require drilling down to a sub-menu.

  • Open regedit, with Administrative privileges.
  • Browse to HKEY_CLASSES_ROOT*\shell
  • Create a new key under shell, calling it “Open with Notepad”
  • Create a new key below that one called “command”.
  • Double-click on the (Default) value in the right-hand pane and enter in the following:

    notepad.exe %1

http://www.howtogeek.com/howto/windows-vista/add-open-with-notepad-to-the-context-menu-for-all-files/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.