Editing EDIT: and the context menus, I covered as best as I could here Replace "Paint" as default program for 'Edit' Explorer command.
Send to: The quickest way I have found, and the least changing, is to drop a shortcut for your program into the SendTo Folder. This give you the option of sending any file to various programs. Today I might want to Hex view it, tomorrow I might want to quick view it with the notepad, the next day I might want to run a batch on that file, or a Virus scan.
Putting a shortcut for your program into the SendTo, means you can send ANY file to it regardless, of its extention or nature or how extentions are pointed. As long as the program can open it.
If you have a very special program, that can open many many things, your tired of having to reset everything to get many files to open to it. This Manuel users method , will stay in place, and be available to even files that should Not be opened with that program :-)
To get to the SendTo folder in Windows 7 , paste this into an Explorer address bar. %APPDATA%\Microsoft\Windows\SendTo Then drop a ShortCut of the Executable of the program into the folder. Try to avoid putting the program itself in :-)
Open With Any specific ONE of the file extentions (ex: .txt) the user has Used OpenWith for previously, will show in the OpenWith again. The user does not need to set that item as "Default" to have it show up in that list again.
With OpenWith you can set-up many programs into that list. Without them being stuck as the default. But it is for files of only THAT extention (ex: .doc) that you set-up. so you go through the process for each file extention that you want that program, or programs to open.
Right click the file, and select "Open With" , then select "Choose Default Program". Uncheck [ ] "Always use the selected program for this type of file" if you just want it to show in the Open With location, but do not want it to be "Default". . Then browse for your executable that you want to open this type of file to. . Then everytime you right click that same File type, The programs (all of them) that you set to Open With , will be there to open with into your selected program.
Just like editing the registry for specific Edit items, this is working based on the extention of the file, or the file "classes" and every class that you wish to open that way has to be set that way.
Setting "associations" in the program itself. Many programs can set to use the windows classes system to set themselves as the Editor (rarer) or the Open (common) for that file type. Always check the preferances or options for the program your using, and see if the program has a way to Set associations, or file types that it will open to. When setting in the program itself, there is less thinking, and the file types that program Can do are all there.