Customizing Windows XP’s Open With List
You’ve used the Open With dialog box a couple of times so far in this chapter. This is a truly useful dialog box, but you can make it even more useful by customizing it. The rest of this chapter takes you through various Open With customizations.
Opening a Document with an Unassociated Application
From what you’ve learned in this chapter, you can see the process that Windows XP goes through when you double-click a document:
Look up the document’s extension in HKEY_CLASSES_ROOT.
Examine the Default value to get the name of the file type subkey.
Look up the file type subkey in HKEY_CLASSES_ROOT.
Get the Default value in the shell\open\command subkey to get the command line for the associated application.
Run the application and open the document.
What do you do if you want to bypass this process and have Windows XP open a document in an unassociated application? (That is, an application other than the one with which the document is associated.) For example, what if you want to open a text file in WordPad?
One possibility would be to launch the unassociated application and open the document from there. To do so, you’d run the File, Open command (or whatever) and, in the Open dialog box, select All Files (*.*) in the Files of Type list.
That will work, but it defeats the convenience of being able to launch a file directly from Windows Explorer. Here's how to work around this:
In Windows Explorer, select the document you want to work with.
Select File, Open With. (Alternatively, right-click the document, and then click Open With in the shortcut menu.)
The next step depends on the file you're working with:
For most files, Windows XP goes directly to the Open With dialog box. In this case, skip to step 4.
For a system file, Windows asks whether you're sure that you want to open the file. In this case, click Open With.
For some file types, Windows XP displays a submenu of suggested programs. In this case, if you see the alternative program you want, select it. Otherwise, select Choose Program.
In the Programs list, select the unassociated application in which you want to open the document. (If the application you want to use isn't listed, click Browse and then select the program's executable file from the dialog box that appears.)
To prevent Windows XP from changing the file type to the unassociated application, make sure that the Always Use the Selected Program to Open This Kind of File check box is deactivated.
Click OK to open the document in the selected application.
One of the small but useful interface improvements in Windows XP is that the system remembers the unassociated applications that you choose in the Open With dialog box. When you next select the Open With command for the file type, Windows XP displays a menu that includes both the associated program and the unassociated program you chose earlier.
How the Open With Feature Works
Before you learn about the more advanced Open With customizations, you need to know how Windows XP compiles the list of applications that appear on the Open With list:
Windows XP checks HKEY_CLASSES_ROOT\.ext (where .ext is the extension that defines the file type). If it finds an OpenWith subkey, the applications listed under that subkey are added to the Open With menu, and they also appear in the Open With dialog box in the Programs list's Recommended Programs branch.
Windows XP checks HKEY_CLASSES_ROOT\.ext to see whether the file type has a PerceivedType setting. If so, it means the file type also has an associated perceived type. This is a broader type that groups related file types into a single category. For example, the Image perceived type includes files of type BMP, GIF, and JPEG, whereas the Text perceived type includes the files of type TXT, HTM, and XML. Windows XP then checks the following:
Here, PerceivedType is value of the file type's PerceivedType setting. The application keys listed under the OpenWithList key are added to the file type's Open With menu and dialog box.
Windows XP checks HKEY_CLASSES_ROOT\Applications, which contains subkeys named after application executable files. If an application subkey has a \shell\open\command subkey, and if that subkey's Default value is set to the path name of the application's executable file, the application is added to the Open With dialog box.
Windows XP checks the following key:
Here, ext is the file type's extension. This key contains settings for each application that the current user has used to open the file type via Open With. These settings are named a, b, c, and so on, and there's an MRUList setting that lists these letters in the order in which the applications have been used. These applications are added to the file type's Open With menu.
Removing an Application from a File Type’s Open With Menu
When you use the Open With dialog box to choose an alternative application to open a particular file type, that application appears on the file type’s Open With menu (that is, the menu that appears when you select the File, Open With command). To remove the application from this menu, open the following Registry key (where ext is the file type’s extension):
Delete the setting for the application you want removed from the menu. Also, edit the MRUList setting to remove the letter of the application you just deleted. For example, if the application setting you deleted was named b, delete the letter b from the MRUList setting.
Removing a Program from the Open With List
Rather than customizing only a single file type’s Open With menu, you might need to customize the Open With dialog box for all file types. To prevent a program from appearing in the Open With list, open the Registry Editor and navigate to the following key:
Here you’ll find a number of subkeys, each of which represents an application installed on your system. The names of these subkeys are the names of each application’s executable file (such as notepad.exe for Notepad). To prevent Windows XP from displaying an application in the Open With list, highlight the application’s subkey, and create a new string value named NoOpenWith. (You don’t have to supply a value for this setting.) To restore the application to the Open With list, delete the NoOpenWith setting.
Adding a Program to the Open With List
You can also add an application to the Open With dialog box for all file types. Again, you head for the following Registry key:
Display the subkey named after the application’s executable file. (If the subkey doesn’t exist, create it.) Now add the \shell\open\command subkey and set the Default value to the pathname of the application’s executable file.
Disabling the Open With Check Box
The Open With dialog box enables you to change the application associated with a file type’s Open action by activating the Always Use the Selected Program to Open This Kind of File check box. If you share your computer with other people, you might not want them changing this association, either accidentally or purposefully. In that case, you can disable the check box by adjusting the following Registry key:
The Default value of this key is the following
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll, OpenAs_RunDLL %1
To disable the check box in the Open With dialog box, append %2 to the end of the Default value:
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll, OpenAs_RunDLL %1 %2