Internet Explorer Browser Extensions
Note Developers are encouraged to use Microsoft Edge, the new default browser built for Windows 10. For more information on Microsoft Edge Extensions, check out the Microsoft Edge Extensions documentation on the Microsoft Edge Dev Center.
Browser extensions, introduced in Microsoft Internet Explorer 5, 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.
Interfaces
Topic | Contents |
---|---|
IDeleteBrowsingHistory | 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 | Exposes methods used to implement a custom image source handler in Internet Explorer. This handler is invoked when rendering images for the IMG element's SRC attribute. |
IMapMIMEToCLSID | Provides methods that implement mappings. |
Overviews/Tutorials
Topic | Contents |
---|---|
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. Introduced in Microsoft Internet Explorer 4.0, this feature enables developers to create Explorer Bars and add entries into the standard context menus. Beginning with Internet Explorer 5, this feature allows developers to add entries into the Tools menu and buttons to the toolbar. |
About the Browser | This section explains the architecture of 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 Microsoft 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"). |
Methods
Topic | Contents |
---|---|
IDeleteBrowsingHistory::DeleteBrowsingHistory | 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. |
Structures
Topic | Contents |
---|---|
DESKBANDINFO | Contains and receives information for a band object. This structure is used with the IDeskBand::GetBandInfo method. |