I have found a registry edit that does approximately what I needed. There are two caveats though:
- The edit puts the programs in the root of the right-click context menu. This makes the menu awkward and unwieldy when you have over 20 programs listed, and ugly to boot, but it does get the job done.
- The edit only works on programs that can accept a file name from the command line;
ie programs that you can open by dragging a file on to their icon.
- Open regedit.
- Navigate to **HKEY_CLASSES_ROOT\\shell*
- Create a new key under "shell" .
The name of the key will be the text as it appears in the right-click context menu.
- Create a new key under the key you just created.
Name this key "command" (without the quotes of course).
- Double-click on the "(Default)" value under "command" to edit it.
- Leave "Value Name" alone.
Change "Value data" to the full path and name of the program you want to run, followed by a space, followed by "%1" .
eg: C:\Users\AlexiT\Utilities\xvi32\XVI32.exe %1
(For those unfamiliar with shell scripting the "%1" is the first command line variable passed to the program.
In this case it is the name of the file that was right-clicked.)
- Click "OK" to save and comit the changes.