The information in this article applies to:
SUMMARY
Windows provides file associations so that an application can register the
type of documents it supports. This is beneficial because it allows
the user to double-click or select a document in File Manager to edit it or
print it. File association is also supported by the ShellExecute() API.
File associations also allow the user to open multiple documents with a
single instance of the application through the File Manager.
MORE INFORMATIONThe following file is available for download from the Microsoft
Download Center. Click the file name below to download the file: FileAsso.exeFor more information about how to download files from the Microsoft Download Center, please visit the Download Center at the following Web address http://www.microsoft.com/downloads/search.aspand then click How to use the Microsoft Download Center. The following information applies to both File Open and File Print. For ease of reading, this article discusses File Open to explain how file associations work. When the user double-clicks a document, the File Manager calls ShellExecute() with filename. ShellExecute() checks the Registration Database for an entry that associates that file extension with a particular application. If an entry exists and does not specify DDE commands, then ShellExecute() launches the application as specified in the registry. If the registry specifies to use DDE commands, ShellExecute() attempts to establish a DDE conversation with that application using the application topic. If an application responds to the DDE connections, ShellExecute() sends a DDE Execute command, as specified in the registry. It is up to the application to define the specifics on this conversation, particularly the service and topic name to connect to, and also the correct DDE execute command syntax to use. However, if attempts to establish the conversation fail, ShellExecute() launches the application specified in the registry and tries to establish the DDE connection again. There is one more option available when the application is not running, which seems to be appropriate for File Print. In this option, ShellExecute() sends a different Execute statement, the application needs to Open and Print the document. When the Printing is done, it exits. There are two steps for an application to open multiple documents through single application instance via File association. As an example, assume MyApp is the application and AssocSupport is the topic. Most applications use MyApp as their application name and System as the topic.
Using the File Manager to Set File AssociationsWhen associating a file type using the File Manager, choose Associate from the File menu. The Associate dialog presents the list of existing file associations. This dialog allows you to add a new file type (or file association), modify an existing file type, or delete an existing file type. The New File Type button allows the user to add an association for a new file extension. Here are the steps:
Using Regedit in Windows NT to Set File AssociationsNOTE: Regedit is available only in Windows NT, not in Windows version 3.1.The user can also associate files with an application by using regedit. From the Edit menu, choose Add File Type or Modify File Type (to modify an existing file type). A dialog similar to File Manager Associate dialog appears. Follow the same steps as described for File Manager. In Windows version 3.1, once you have defined a File Type via this method, go to the File Manager associate dialog and attach the file type to the extension. Using a Program to Set File AssociationsYou can also set the associations programmatically. This is useful when setting up your application on other machines. You can provide this functionality through your installation program. The first way to do this (the simpler method) is to use regedit to merge the changes from a file. The syntax for this is:
An example of a <filename>.reg is:
In the program, you can also add keys to the registry by using the registry
APIs. The developer needs to add the following keys to the registration
database:
REFERENCES
Windows SDK Programmers Reference, Volume 1, chapter 7, Shell Library or
Books Online.
Additional query words:
Keywords : kbfile kbsample kbLib kbNTOS kbWinOS2000 kbSDKWin32 kbWinOS kbWinOS98 kbGrpShell |
Last Reviewed: January 25, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |