Internet Explorer Client Registry Layout
Windows Internet Explorer supports user selection of Internet service applications, such as mail and news clients. This article describes how to make your Internet service applications available to Internet Explorer. The registry settings referred to in this article are supported in Microsoft Internet Explorer 4.0 and later, unless otherwise indicated.
Programmatic access to the registry is beyond the scope of this article. Internet Explorer does not provide user interface functionality to interact directly with the registry.
This topic contains the following sections:
- User Interface Support
- Adding Client Applications
- Adding HTML Editors
- Selecting a View Source Editor
This section describes the Internet Explorer menu options that allow the user to launch Internet service applications from the Internet Explorer user interface.
Internet Explorer provides File menu commands that launch additional instances of Internet Explorer or Internet services that are not included as part of Internet Explorer. The Internet Explorer File menu offers users the ability to start a new Internet service—such as an e-mail message, newsgroup post, address book contact entry, or Internet conference call—and to send a link or page as e-mail to another Internet address.
Internet Explorer provides the View Source command, which enables users to view the HTML source file for the current page. The View Source command is also available from the Web page's context menu. With Internet Explorer 5 and later, users may select editors other than Notepad for viewing source code.
Currently, this feature works with programs that permit spaces in the command path. WordPad, for example, does not permit spaces in the command path, so you cannot specify WordPad as your default editor for viewing source code.
HTML editors can also be launched from the toolbar by clicking the Edit button. Internet Explorer 4.0 launches Microsoft FrontPage or FrontPage Express, if installed, when the Edit button is pressed. The Edit button on the toolbar in Internet Explorer 5 and later also enables users to edit Web pages using their chosen HTML editor.
On Windows XP, Internet Explorer allows the user to select which application will be launched when accessing an Internet service, such as mail or news. Internet Explorer 5 and later also allows the user to select a default HTML editor. Internet Explorer uses the default client applications that are defined in the registry. Client applications are listed within a corresponding drop-down menu that relates to the client application type. Registered applications are listed in a drop-down menu on the Programs tab of the Internet Options dialog box. (The following screenshot is from Windows Internet Explorer 7.)
On Windows Vista, Internet Explorer no longer provides the ability for users to select which default applications handle their Internet services. Windows Vista with user account control (UAC) enabled does not allow applications to write to HKEY_LOCAL_MACHINE after install. Internet Explorer 7 uses the new Default Programs control panel to allow users to select the applications that handle their Internet services on a per-user basis. Users can still select their default HTML editors within Internet Explorer because this is already a per-user setting.
Internet Explorer uses the registry to determine which clients to use and how to use them. By changing the values that are stored in the registry for extended services such as mail and news, it is possible for Internet Explorer to launch applications that provide specialized Internet services.
The Calendar, Contacts, Internet Call, Mail, and News registry settings can be found under the SOFTWARE\Clients subkey of HKEY_LOCAL_MACHINE.
|Clients Subkey||URL Protocol||Description|
|Calendar||Calendar and scheduling applications|
|Contacts||ldap:||Address book and contact database applications|
|Internet Call||callto:||Internet conference applications|
|mailto:||Internet e-mail and messaging clients|
|News||news:, snews:, nntp:||Internet newsgroup clients|
For more information about predefined and pluggable protocols, and how to implement a protocol handler, see Asynchronous Pluggable Protocols.
The following example demonstrates how to include a mail client application in the list of available applications. These steps are virtually identical for each of the Internet service application types listed above.
- Create a new registry key for your Internet client application.
- Define the client application to be launched by Internet Explorer.
My_Mail_Client (Default) = My Mail Client Name shell open command (Default) = "%ProgramFiles%\MyMail\MyMailClient.EXE"Note The standard ShellExecute rules for registry keys apply; the ddeexec subkey may also be used to open the application using a running dde service.
- Define the URL Protocol handlers implemented by this application.
My_Mail_Client Protocols mailto (Default) = URL:MailTo Protocol URL Protocol = "" DefaultIcon (Default) = "%ProgramFiles%\MyMail\MyMailClient.EXE",-3 shell open command (Default) = "%ProgramFiles%\MyMail\MyMailClient.EXE" /mail "%1"
- (Optional) List the file types and extensions recognized by your application.
My_Mail_Client Protocols .mymsg (Default) = msg_file Content Type = message/rfc822 msg_file (Default) = Internet Email Message DefaultIcon (Default) = "%ProgramFiles%\MyMail\MyMailClient.EXE",-7 shell open command (Default) = "%ProgramFiles%\MyMail\MyMailClient.EXE" /open "%1"
- For e-mail client applications only, register a DLL (or executable) for handling the Simple MAPI calls needed by the Page by E-mail and Link by E-mail commands under the Send sub-menu of the File menu.
My_Mail_Client DLLPath = C:\Program Files\MyMail\SimpleMAPI.dllNote If the DLL Path value is present and the mail client has been selected as default, the DLL or EXE will be used. If the key is not present, the DLL or EXE associated with the CMCDLLName32 name/value pair in the [Mail] section of the Win.ini file will be used. If the Win.ini entry is not present, Mapi32.dll will be used.
- (Optional) Set the new entry as the default e-mail client application.
HKEY_LOCAL_MACHINE SOFTWARE Clients Mail (Default) = My_Mail_Client
Once the registry is modified to include the new mail client application, Internet Explorer adds "My Mail Client Name" to the drop-down list of available e-mail applications. From this list, users can specify the mail client they want to be their default e-mail application. When the user selects the New Message item from the File menu, or one of the menu items available from the Mail toolbar button, Internet Explorer launches the application that the user has specified.
For additional information on how to register a browser, e-mail, media playback, or instant messaging program in the Windows registry, see Registering Programs with Client Types.
The steps for adding HTML editors to the drop-down list on the Programs tab of the Internet Options dialog box in Internet Explorer 5 and later are slightly different than the steps for adding client applications like mail and news.
- Register the HTML editor in the OpenWithList file type association of .htm files.
HKEY_CLASSSES_ROOT .htm OpenWithList MyEditor.exe
- Add shell, edit, and command subkeys to the editor's HKEY_CLASSES_ROOT\Applications registry entry. The "%1" parameter refers to the file name of the active Web page.
HKEY_CLASSES_ROOT or HKEY_CURRENT_USER Applications MyEditor.exe shell edit FriendlyAppName = My HTML Editor command (Default) = "%ProgramFiles%\MyHTML\MyEditor.exe" "%1"Note The edit subkey is required. If the FriendlyAppName value is missing, the application itself is queried for this information.
Close and reopen the browser for these changes to take effect.
In Internet Explorer 5 or later, whenever the HTML editor is selected from the drop-down list on the Programs tab of the Internet Options dialog box, the Edit with... command on the File menu is updated to reflect the selection.
HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER Software Microsoft Internet Explorer Default HTML Editor Description = My HTML Editor shell edit command (Default) = "%ProgramFiles%\MyHTML\MyEditor.exe" "%1"
By default when you use the View Source feature of Internet Explorer it launches Notepad as the text editor. The following registry key will allow another source editor to be used:
HKEY_LOCAL_MACHINE Software Microsoft Internet Explorer View Source Editor Editor Name (Default) = C:\Program Files\MyHTML\MyEditor.exe