|
Internet Explorer
uses Microsoft ActiveX Controls and Active Document interfaces to connect
components.

IExplore.exe is at
the top level; it is a small application that is instantiated when Internet
Explorer is loaded. This executable application uses Internet Explorer
components to perform the navigation, history maintenance, favorites
maintenance, HTML parsing and rendering, and so on, while it supplies the
toolbar and frame for the stand-alone browser. IExplorer.exe directly hosts
the Shdocvw.dll component.
Shdocvw.dll in turn
hosts the Mshtml.dll component, as well as any other Active Document
component (such as a Microsoft Office application) that can be loaded in
place in the browser when the user navigates to a specific document type.
Shdocvw.dll supplies the functionality associated with navigation, in-place
linking, favorites and history management, and PICS support. This
dynamic-link library (DLL) also exposes interfaces to its host to allow it
to be hosted separately as an ActiveX control. The Shdocvw.dll component is
more frequently referred to as the WebBrowser Control. In-place
linking refers to the ability to click a link in the HTML of the loaded
document and to load a new HTML document in the same instance of the
WebBrowser Control. If only Mshtml.dll is being hosted, a click on the
link results in a new instance of the browser.
Mshtml.dll is the
component that performs the HTML parsing and rendering in Internet Explorer
4.0 and later, and it also exposes the HTML document through the Dynamic
HTML Object Model. This component hosts the scripting engines, Microsoft
virtual machine, ActiveX Controls, plug-ins, and other objects that might be
referenced in the loaded HTML document. Mshtml.dll implements the Active
Document server interfaces, which allows it to be hosted using standard
Component Object Model (COM) interfaces.
The WebBrowser
Control provides a rich set of functionality that a host typically
requires, such as that for in-place linking. Therefore, it is much more
applicable for most applications to host this control instead of
MSHTML for browsing or viewing HTML documents. Hosting MSHTML is
recommended only for specialized applications, such as parsing HTML. The
WalkAll Sample Source Page demonstrates how to host MSHTML.
It should also be
noted that although hosting MSHTML is slightly more lightweight than hosting
the WebBrowser Control, the savings rarely justify the extra work
involved in implementing functionality that is already available in the
WebBrowser Control. It is very likely that the WebBrowser Control
will already be loaded in memory, and navigating to a frameset page will
also result in the WebBrowser Control being loaded as part of the
standard working set.
Excerpted from the
MSDN Library article
About the Browser. © 2005 Microsoft Corporation.
|