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.

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.