Share via

SOLVED: Right-click Context menu: Activating for unknown file types + adding custom programs

Anonymous
2009-04-28T14:17:50+00:00

I am using Vista business SP1

I have a two part question concerning the right-click context menu that appears when you right-click a file in Windows Explorer.

Edit: My ultimate goal is to be able to right-click on any file and have a list of programs I can open the file with either in the main context menu itself (like how most antivirus programs, WinRar, and Notepad++ put default actions in the context menu) or in the "Open With" sub menu . </edit>

  1. Is there a way to force the "Open With" sub menu to appear for all files and not just recognized types?

For example, on my computer when I right-click a ".txt" file I get options to open the file in Wordpad, HexEdit, and JetASM in the "Open With" menu.

However, if I change the extension to ".out" the "Open With Menu" disappears.

In order to open the file in say HexEdit I have to double-click on the file, select "Select a program from a list of installed programs" in the "Windows cannot open this file" dialog, browse for the program, uncheck "Always use this program..." and then click "OK".

  1. Is there a way to customize the list of programs that appears in the "Open With" sub menu?

Thank you for your time.

UPDATE JUN/03/2009

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.

  1. Open regedit.
  2. Navigate to **HKEY_CLASSES_ROOT\\shell*
  3. Create a new key under "shell" .

The name of the key will be the text as it appears in the right-click context menu.

  1. Create a new key under the key you just created.

Name this key "command" (without the quotes of course).

  1. Double-click on the "(Default)" value under "command" to edit it.
  2. 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.)

  1. Click "OK" to save and comit the changes.
Windows for home | Previous Windows versions | Accessibility

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

Answer accepted by question author

  1. Anonymous
    2009-06-12T02:00:24+00:00

    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.

    1. Open regedit.
    2. Navigate to **HKEY_CLASSES_ROOT\\shell*
    3. Create a new key under "shell" .

    The name of the key will be the text as it appears in the right-click context menu.

    1. Create a new key under the key you just created.

    Name this key "command" (without the quotes of course).

    1. Double-click on the "(Default)" value under "command" to edit it.
    2. 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.)

    1. Click "OK" to save and comit the changes.
    0 comments No comments

4 additional answers

Sort by: Most helpful
  1. Anonymous
    2009-04-29T18:49:19+00:00

    I have also searched the web for things like "Open with Menu" and "vista add custom programs to right-click context menu" with varying degrees of success but with no authoritative answer.

    I have seen a hand full of third-party programs that edits the context menu, but those types of programs are verboten as per our computer policy.

    (Our IS team forbids the installation of third party software by "small developers" that has not been previously reviewed in order to meet compliance with data safety standards).

    Likewise, I have seen many sites that list registry hacks that promise to tweak the context menu, but none of the answers seemed authoritative; the authors all seemed to disclaim all their instructions with things like "this should work..." or "this may do what you want...".

    0 comments No comments
  2. Anonymous
    2009-04-29T09:32:24+00:00

    Hi alexi_teague,

    Thanks for using the Answers Forum.

    I did a search for   'Open With Menu'  and found some information about adding the "Open With" menu, but nothing for Vista specifically.

    You may be able to find a third party software that can add some extra functionality to the right click menu.

    Please let us know if this helps.


    Chris

    Microsoft Answers Support Engineer

    Visit our Microsoft Answers Feedback Forum and let us know what you think.

    0 comments No comments
  3. Anonymous
    2009-04-29T01:35:13+00:00

    Thanks for the link Martin.

    It had some interesting information. but it was not quite what I needed.

    All of the non standard extensions were listed there (oddly enough they all had "MSWord" listed among the keys even though I have never used Word to open the files...) but I still did not have the "Open With" menu.

    I realize I can associate all the files with static extensions with Notepad or some other program and thus obtain the Open With menu, but I would still have two problems:

    1. Not all the files I work with have extensions:

    e.g. prn-00001, prn-00002, prn-00003

    1. Many of the files have variable extensions:

    e.g. bvc.map-01, bvc.map-02, 3600.log.1, 3600.log.2

    My ultimate goal is to be able to right-click on any file and have a list of programs I can open the file with either in the main context menu itself (like how most antivirus programs, WinRar, and Notepad++ put default actions in the context menu) or in the "Open With" sub menu.

    0 comments No comments
  4. Anonymous
    2009-04-28T20:49:01+00:00

    Hello Alexi Teague,

    Thank you for visiting Microsoft Answers forum.

    I have not found how to force a set program to appear, but i did find how to change the default program assigned to a file extension.

    if you navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\FileExts.extension\OpenWithList

    You will see that under the OpenWithList there is a program listed, you could change the name of the default program of your choice.

    You might find this article helpful, take a look

    http://support.microsoft.com/kb/258860

    Thanks,


    Martin

    Microsoft Answers Support Engineer

    Visit ourMicrosoft Answers Feedback Forumand let us know what you think

    0 comments No comments