IWebBrowser2 interface
Exposes methods that are implemented by the WebBrowser control (Microsoft ActiveX control) or implemented by an instance of the InternetExplorer application (OLE Automation). For the Microsoft .NET Framework version of this control, see WebBrowser Control (Windows Forms).
Members
The IWebBrowser2 interface inherits from the IDispatch interface. IWebBrowser2 also has these types of members:
- Methods
- Properties
Methods
The IWebBrowser2 interface has these methods.
Method | Description |
---|---|
IWebBrowser2::ClientToWindow | Computes the full size of the browser window when given the specified width and height of the content area. |
IWebBrowser2::ExecWB | Executes a command and returns the status of the command execution using the IOleCommandTarget interface. |
IWebBrowser2::GetProperty | Gets the value associated with a user-defined property name. |
IWebBrowser2::GoBack | Navigates backward one item in the history list. |
IWebBrowser2::GoForward | Navigates forward one item in the history list. |
IWebBrowser2::GoHome | Navigates to the current home or start page. |
IWebBrowser2::GoSearch | Navigates to the current search page. |
IWebBrowser2::Navigate | Navigates to a resource identified by a URL or to a file identified by a full path. |
IWebBrowser2::Navigate2 | Navigates the browser to a location that might not be expressed as a URL, such as a PIDL for an entity in the Windows Shell namespace. |
IWebBrowser2::PutProperty | Associates a user-defined name/value pair with the object. |
IWebBrowser2::QueryStatusWB | Queries the object for the status of commands using the IOleCommandTarget::QueryStatus method. |
IWebBrowser2::Quit | Closes the object. |
IWebBrowser2::Refresh | Reloads the file that is currently displayed in the object. |
IWebBrowser2::Refresh2 | Reloads the file that is currently displayed with the specified refresh level. |
IWebBrowser2::ShowBrowserBar | Shows or hides a specified browser bar. |
IWebBrowser2::Stop | Cancels a pending navigation or download, and stops dynamic page elements, such as background sounds and animations. |
Properties
The IWebBrowser2 interface has these properties.
Property | Access type | Description |
---|---|---|
Read/write |
Sets or gets a value that indicates whether the address bar of the object is visible or hidden. |
|
Read/write |
Sets or gets a value that indicates whether Internet Explorer is in full-screen mode or normal window mode. |
|
Read-only |
Gets the automation object for the application that is hosting the WebBrowser Control. |
|
Read-only |
Gets a value that indicates whether the object is engaged in a navigation or downloading operation. |
|
Read-only |
Gets an object reference to a container. |
|
Read-only |
Gets the automation object of the active document, if any. |
|
Read-only |
Retrieves the fully qualified path of the Internet Explorer executable. |
|
Read-only |
Retrieves the path or title of the resource that is currently displayed. |
|
Read-only |
Gets the URL of the resource that is currently displayed. |
|
Read-only |
Retrieves the frame name or application name of the object. |
|
Read-only |
Gets the parent of the object. |
|
Read-only |
Retrieves the system folder of the Internet Explorer executable. |
|
Read-only |
Gets the ready state of the object. |
|
Read/write |
Sets or gets a value that indicates whether the object is registered as a top-level browser window. |
|
Read-only |
Gets a value that indicates whether the object is a top-level container. |
|
Read-only |
Gets the user type name of the contained document object. |
|
Read/write |
Sets or gets the height of the object. |
|
Read-only |
Gets the handle of the Internet Explorer main window. |
|
Read/write |
Sets or gets the coordinate of the left edge of the object. |
|
Read/write |
Sets or gets a value that indicates whether the Internet Explorer menu bar is visible. |
|
Read/write |
Sets or gets a value that indicates whether the object is operating in offline mode. |
|
Read/write |
Sets or gets a value that indicates whether the object is registered as a drop target for navigation. |
|
Read/write |
Sets or gets a value that indicates whether the object can be resized. |
|
Read/write |
Sets or gets a value that indicates whether the object can display dialog boxes. |
|
Read/write |
Sets or gets a value that indicates whether the status bar for the object is visible. |
|
Read/write |
Sets or gets the text in the status bar for the object. |
|
Read/write |
Sets or gets whether the object is in theater mode. |
|
Read/write |
Sets or gets whether toolbars for the object are visible. |
|
Read/write |
Sets or gets the coordinate of the top edge of the object. |
|
Read/write |
Sets or gets a value that indicates whether the object is visible or hidden. |
|
Read/write |
Sets or gets the width of the object. |
Remarks
Many of these methods apply only to the InternetExplorer application, such as the ClientToWindow method and the ShowBrowserBar method. The WebBrowser control either returns an error for those methods that it does not implement, or stores the input value but otherwise ignores it.
The IWebBrowser2 interface derives from IDispatch indirectly; that is, IWebBrowser2 derives from IWebBrowserApp, which in turn derives from IWebBrowser, which finally derives from IDispatch.
Note The IWebBrowser and IWebBrowserApp interfaces are deprecated.
The following code demonstrates how to launch Internet Explorer from within a host application. When the InternetExplorer object is first created, the application window is hidden. You must set IWebBrowser2::Visible to VARIANT_TRUE to display the application. Also, because the OLE Automation server launches Internet Explorer as a separate application, the host must call the IWebBrowser2::Quit method to close Internet Explorer, if necessary. In this example, the browser continues running after the function exits if the navigation is successful.
if (SUCCEEDED(OleInitialize(NULL)))
{
IWebBrowser2* pBrowser2;
CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER,
IID_IWebBrowser2, (void**)&pBrowser2);
if (pBrowser2)
{
VARIANT vEmpty;
VariantInit(&vEmpty);
BSTR bstrURL = SysAllocString(L"https://microsoft.com");
HRESULT hr = pBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
if (SUCCEEDED(hr))
{
pBrowser2->put_Visible(VARIANT_TRUE);
}
else
{
pBrowser2->Quit();
}
SysFreeString(bstrURL);
pBrowser2->Release();
}
OleUninitialize();
}
Alternatively, the Internet Explorer application can create a new window (similar to window.open) by passing the navOpenInNewWindow flag. In this case, it is necessary to call IWebBrowser2::Quit to properly close the hidden browser window. This method allows you to open several browser windows at one time; however, because no interface reference is returned, there is no immediate way to further navigate or control the new instances of Internet Explorer.
CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER,
IID_IWebBrowser2, (void**)&pBrowser2);
if (pBrowser2)
{
VARIANT vEmpty;
VariantInit(&vEmpty);
VARIANT vFlags;
V_VT(&vFlags) = VT_I4;
V_I4(&vFlags) = navOpenInNewWindow;
BSTR bstrURL = SysAllocString(L"https://microsoft.com");
pBrowser2->Navigate(bstrURL, &vFlags, &vEmpty, &vEmpty, &vEmpty);
pBrowser2->Quit();
SysFreeString(bstrURL);
pBrowser2->Release();
}
Note Windows Internet Explorer 7 and later. It is not possible to use CoCreateInstance to open an instance of Internet Explorer as a new tab in an existing window. In general, the ShellExecute function is the preferred way to open links because it respects the user preferences both with regard to default browser and expected tab behavior.
Requirements
Minimum supported client |
Windows XP |
Minimum supported server |
Windows 2000 Server |
Header |
Exdisp.h |
DLL |
Shdocvw.dll |