Add-in Express™ for Internet Explorer® and Microsoft® .net
Add-in Express makes the Internet Explorer extensibility integrated
Add-in Express is based on the IE SDK and allows you to:
- Add custom commands to the built-in Internet Explorer menu bar and toolbar.
- Add your own items to any built-in IE context menus.
- Create a custom toolbar / commandbar and populate it with any .NET controls.
- Create custom Explorer bars (like the Favorites or History bars).
- Add new keyboard shortcuts.
- Develop IE browser helper objects (IE BHO).
- Access Internet Explorer objects and their events.
In contrast to the IE SDK, which offers disembodied solutions based on ActiveX objects 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 stabler 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:
- Threading - Add-in Express isolates your add-ons with a special loader.
- Context synchronization - Add-in Express provides access to IE objects that are actual in the current context.
- Data globalization - Add-in Express allows you to utilize data that is global for the whole browser process.
- Window registry - Add-in Express registers all your extensibility features itself; you can forget about the Windows Registry.
- Windows Explorer - Yes, Add-in Express resolves the Windows Explorer problem for Internet Explorer add-ons. The fact is that Windows Explorer runs all BHOs registered for Internet Explorer. Add-in Express disables loading of your IE add-ons for Windows Explorer, so your add-ons truly work for Internet Explorer only, but not for 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:
- Commands - a collection of commands you add to Internet Explorer.
- ContextMenu - a collection of pop-up menu items for all IE context.
- Bars - a collection each item of which makes an appropriated .NET user control a custom Explorer bar.
- Toolbars - it is a collection each item of which makes an appropriated .NET user control a custom toolbar.
The IE Module provides you with the following Internet Explorer events:
- OnConnect
- OnDisconnect
- OnError
- OnSendMessage
- BeforeNavigate2
- ClientToHostWindow
- CommandStateChange
- DocumentComplete
- DownloadBegin
- DownloadComplete
- FileDownload
- NavigateComplete2
- NavigateError
- NewWindow2
- NewWindow3
- OnFullScreen
- OnMenuBar
|
- OnQuit
- OnStatusBar
- OnTheaterMode
- OnToolBar
- OnVisible
- ProgressChange
- PropertyChange
- StatusTextChange
- TitleChange
- UpdatePageStatus
- WindowClosing
- WindowSetHeight
- WindowSetLeft
- WindowSetWidth
- WindowSetResizable
- WindowSetTop
|
Access Internet Explorer objects and events
Your IE Module contains all application-level events that 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 Internet Explorer object model: IEObj (Object) that returns an untyped reference to the WebBrowser object of Internet Explorer and IEApp (IE.WebBrowser) that returns a types reference to the WebBrowser object of Internet Explorer. Using these properties you can access any IE objects.
|