Browser Extensions
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.
Overviews/Tutorials
About Browser ExtensionsBrowser 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 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 BrowserThis section explains the architecture of Internet Explorer 4.0 and later and provides information you will find helpful when reusing these components.
Adding Explorer BarsThis tutorial explains how to add an Explorer Bar in Internet Explorer.
Adding Menu ItemsThis 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 ButtonsThis tutorial explains how to add a toolbar button to the Internet Explorer user interface.
Content ExtensionsThis category of extension is invoked specifically by Internet Explorer content. It includes Microsoft ActiveX controls, binary behaviors, and Active documents.
Customizing the Browser ToolbarThis tutorial explains how to customize the appearance of the toolbar area in Internet Explorer.
Explorer Bar Style GuideThis guide will help you design Explorer Bars to add to the Internet Explorer user interface.
Implementing a Custom Download ManagerThe 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 GuideThis guide will help you design icons for toolbar buttons that you add to the Internet Explorer user interface.
Web AccessoriesWeb 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 ExtensionsThe 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
IDeleteBrowsingHistory::DeleteBrowsingHistoryIndicates what type of browsing history to delete.
IDownloadManager::DownloadCalled by Internet Explorer and WebBrowser applications to download a file.
IMapMIMEToCLSID::EnableDefaultMappingsSets whether to enable default mappings.
IDeskBand::GetBandInfoGets the information for a band object.
IImageDecodeEventSink::GetSurfaceReturns a drawing surface of the requested size and format.
IImageDecodeFilter::InitializeCalled when the filter is activated by Internet Explorer.
IImageDecodeEventSink2::IsAlphaPremultRequiredCalled by the filter to determine whether to remove the opacity of a layer by premultiplying it against the palette colors.
IMapMIMEToCLSID::MapMIMEToCLSIDMaps MIME to CLSID.
IImageDecodeEventSink::OnBeginDecodeCalled by the filter to determine which image formats are supported.
IImageDecodeEventSink::OnBitsCompleteCalled by the filter after image bits have been downloaded.
IImageDecodeEventSink::OnDecodeCompleteCalled by the filter after image has been decoded.
IImageDecodeEventSink::OnPaletteCalled by the filter when the palette associated with surface changes.
IImageDecodeEventSink::OnProgressCalled by filter as incremental progress is made during decode.
IImageDecodeFilter::ProcessCalled when a source file is ready to be processed.
IMapMIMEToCLSID::SetMappingSets the mapping mode.
IImageDecodeFilter::TerminateCalled when the filter is deactivated.
Interfaces
IDeleteBrowsingHistoryNotifies third-party extensions when browsing history is deleted by the user.
IDeskBandGets information about a band object.
IDownloadManagerProvides access to the method of a custom download manager object that Internet Explorer and WebBrowser applications use to download a file.
IImageDecodeEventSinkExposes methods that are called by IImageDecodeFilter during a decode operation.
IImageDecodeEventSink2Exposes the method to support alpha channel transparency of Portable Network Graphics (PNG).
IImageDecodeFilterExposes 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.
IMapMIMEToCLSIDProvides methods that implement mappings.
Structures
DESKBANDINFOContains and receives information for a band object. This structure is used with the IDeskBand::GetBandInfo method.