Browser extensions allow developers to add functionality to the browser and enhance the user interface in a way that is not directly related to the viewable content of Web pages. This class of extensibility includes add-on functionality that users might install to enhance their browsing experience.
Shortcut menu extensions. It is possible to extend Windows Internet Explorer by adding options to the shortcut menu. This is accomplished by adding registry keys that link the menu command to the task to be performed. For more information, see Adding Entries to the Standard Context Menu.
Toolbars. Custom toolbars complement Internet Explorer's standard toolbars. An example is the MSN Toolbar. For more information, see Creating Custom Explorer Bars, Tool Bands, and Desk Bands.
Explorer Bars. Use Explorer Bars to reserve part of the browser window, either the side or the bottom of the browser window. For more information, see Creating Custom Explorer Bars, Tool Bands, and Desk Bands.
Browser Helper Objects. A Browser Helper Object (BHO) runs within Internet Explorer and offers additional services, often without any obvious user interface. For example, a BHO might highlight terms of interest to the user, such as addresses. For more information, see Browser Helper Objects: The Browser the Way You Want It.
About Browser Extensions
Browser extensions allow developers to provide easy access to their browser enhancements by adding elements (like an Explorer Bar) to the default user interface. This enables developers to create Explorer Bars and add entries into the standard context menus. Developers can also add entries into the Tools menu and buttons to the toolbar.About the Browser
This section explains the architecture of Microsoft Internet Explorer 4.0 and later and provides information you will find helpful when reusing these components.Adding Explorer Bars
This tutorial explains how to add an Explorer Bar in Internet Explorer.Adding Menu Items
This tutorial explains how to add a menu item that runs a Windows application or that runs a script to the Tools menu or Help menu in Internet Explorer.Adding Toolbar Buttons
This tutorial explains how to add a toolbar button to the Internet Explorer user interface.Content Extensions
This category of extension is invoked specifically by Internet Explorer content. It includes Microsoft ActiveX controls, binary behaviors, and Active documents.Customizing the Browser Toolbar
This tutorial explains how to customize the appearance of the toolbar area in Internet Explorer.Explorer Bar Style Guide
This guide will help you design Explorer Bars to add to the Internet Explorer user interface.Implementing a Custom Download Manager
The ability to implement a custom download manager was introduced in Internet Explorer 5.5. This feature enables you to extend the functionality of Internet Explorer and WebBrowser applications by implementing a Component Object Model (COM) object to handle the file download process.Toolbar Button Style Guide
This guide will help you design icons for toolbar buttons that you add to the Internet Explorer user interface.Web Accessories
Web Accessories are browser enhancements that any developer can create using browser extensions. Users can then add these Web Accessories to their copy of Internet Explorer. By creating Web Accessories, developers have a very powerful way to enable new features and functionality.Writing Stable Browser Extensions
The stability of Internet Explorer is adversely affected by poorly implemented extensions such as BHOs, toolbars, or ActiveX controls. This article summarizes important guidelines developers should follow when creating COM extensions to customize the browser and provides tips and best practices for well-behaved browser extensions that do not cause Internet Explorer to crash or become unresponsive ("hang").
Indicates what type of browsing history to delete.IDownloadManager::Download
Called by Internet Explorer and WebBrowser applications to download a file.IMapMIMEToCLSID::EnableDefaultMappings
Sets whether to enable default mappings.IDeskBand::GetBandInfo
Gets the information for a band object.IImageDecodeEventSink::GetSurface
Returns a drawing surface of the requested size and format.IImageDecodeFilter::Initialize
Called when the filter is activated by Internet Explorer.IImageDecodeEventSink2::IsAlphaPremultRequired
Called by the filter to determine whether to remove the opacity of a layer by premultiplying it against the palette colors.IMapMIMEToCLSID::MapMIMEToCLSID
Maps MIME to CLSID.IImageDecodeEventSink::OnBeginDecode
Called by the filter to determine which image formats are supported.IImageDecodeEventSink::OnBitsComplete
Called by the filter after image bits have been downloaded.IImageDecodeEventSink::OnDecodeComplete
Called by the filter after image has been decoded.IImageDecodeEventSink::OnPalette
Called by the filter when the palette associated with surface changes.IImageDecodeEventSink::OnProgress
Called by filter as incremental progress is made during decode.IImageDecodeFilter::Process
Called when a source file is ready to be processed.IMapMIMEToCLSID::SetMapping
Sets the mapping mode.IImageDecodeFilter::Terminate
Called when the filter is deactivated.
Notifies third-party extensions when browsing history is deleted by the user.IDeskBand
Gets information about a band object.IDownloadManager
Provides access to the method of a custom download manager object that Internet Explorer and WebBrowser applications use to download a file.IImageDecodeEventSink
Exposes methods that are called by IImageDecodeFilter during a decode operation.IImageDecodeEventSink2
Exposes the method to support alpha channel transparency of Portable Network Graphics (PNG).IImageDecodeFilter IMapMIMEToCLSID
Provides methods that implement mappings.