How to create Internet Explorer browser helper object,
IE BHO, context menu on IE SDK: C#, VB.NET, C++
Add-in Express makes the Internet Explorer extensibility integrated
Add-in Express is based on the IE SDK and allows you to:
In contrast to the IE SDK, which offers disembodied solutions based on ActiveX objects or scripts for each of the above items, Add-in Express integrates all stuff in one project with a lucid, easy-to-understand architecture and an interaction model with Internet Explorer.
The IE Module - browser helper objects based on Add-in Express
Each of your Internet Explorer add-on solutions based on Add-in Express includes two projects: the add-on project itself and its setup project.
All your Internet Explorer add-ons based on Add-in Express are implemented as browser helper objects. However, unlike the IE SDK, your Add-in Express based BHO is more stable since the Add-in Express run-time code is already thread-safe and context sensitive. You needn’t do anything to make your add-ins such. In addition, Add-in Express solves a lot of problems that you may face with the IE SDK, such as threading, context synchronization, data globalization, the Windows Registry and Windows Explorer:
Finally, with Add-in Express your IE add-on is a .NET component, the IE Module in Add-in Express terms. The IE Module is the "heart" of your project; it implements a threading-safe BHO, centralizes global data and your applied code, integrates all extensibility features and can serve as a container for other components, e.g. your data-aware or service-related components. The IE Module has a special visual designer and several IE-specific properties and events (see the pictures below).
The main IE Module properties are:
The IE Module provides you with the following Internet Explorer events:
Access Internet Explorer and HTML objects and events
Your IE Module contains all Internet Explorer application-level events, they are available via the Properties window. As for Internet Explorer objects, your IE Module provides you with two properties, which are entry points to the corresponding object models: IEApp (IE.WebBrowser) that returns a reference to the WebBrowser object of Internet Explorer and HTMLDocument providing access to the MSHTML.HTMLDocument object representing an HTML document hosted by the WebBrowser control. To handle document-level events you can use a special event-helper component, ADXIEHtmlDocEvents: