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).

IWebBrowser2 Members

AddressBar Sets or gets a value that indicates whether the address bar of the object is visible or hidden.
Application Gets the automation object for the application that is hosting the WebBrowser Control.
Busy Gets a value that indicates whether the object is engaged in a navigation or downloading operation.
ClientToWindow Computes the full size of the browser window when given the specified width and height of the content area.
Container Gets an object reference to a container.
Document Gets the automation object of the active document, if any.
ExecWB Executes a command and returns the status of the command execution using the IOleCommandTarget interface.
FullName Retrieves the fully qualified path of the Windows Internet Explorer executable.
FullScreen Sets or gets a value that indicates whether Internet Explorer is in full-screen mode or normal window mode.
GetProperty Gets the value associated with a user-defined property name.
GoBack Navigates backward one item in the history list.
GoForward Navigates forward one item in the history list.
GoHome Navigates to the current home or start page.
GoSearch Navigates to the current search page.
Height Sets or gets the height of the object.
HWND Gets the handle of the Internet Explorer main window.
Left Sets or gets the coordinate of the left edge of the object.
LocationName Retrieves the path or title of the resource that is currently displayed.
LocationURL Gets the URL of the resource that is currently displayed.
MenuBar Sets or gets a value that indicates whether the Internet Explorer menu bar is visible.
Name Retrieves the frame name or application name of the object.
Navigate Navigates to a resource identified by a URL or to a file identified by a full path.
Navigate2 Navigates the browser to a location that might not be expressed as a URL, such as a pointer to an item identifier list (PIDL) for an entity in the Microsoft Windows Shell namespace.
Offline Sets or gets a value that indicates whether the object is operating in offline mode.
Parent Gets the parent of the object.
Path Retrieves the system folder of the Internet Explorer executable.
PutProperty Associates a user-defined name/value pair with the object.
QueryStatusWB Queries the object for the status of commands using the IOleCommandTarget::QueryStatus method.
Quit Closes the object.
ReadyState Gets the ready state of the object.
Refresh Reloads the file that is currently displayed in the object.
Refresh2 Reloads the file that is currently displayed with the specified refresh level.
RegisterAsBrowser Sets or gets a value that indicates whether the object is registered as a top-level browser window.
RegisterAsDropTarget Sets or gets a value that indicates whether the object is registered as a drop target for navigation.
Resizable Sets or gets a value that indicates whether the object can be resized.
ShowBrowserBar Shows or hides a specified browser bar.
Silent Sets or gets a value that indicates whether the object can display dialog boxes.
StatusBar Sets or gets a value that indicates whether the status bar for the object is visible.
StatusText Sets or gets the text in the status bar for the object.
Stop Cancels a pending navigation or download, and stops dynamic page elements, such as background sounds and animations.
TheaterMode Sets or gets whether the object is in theater mode.
ToolBar Sets or gets whether toolbars for the object are visible.
Top Sets or gets the coordinate of the top edge of the object.
TopLevelContainer Gets a value that indicates whether the object is a top-level container.
Type Gets the user type name of the contained document object.
Visible Sets or gets a value that indicates whether the object is visible or hidden.
Width 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"http://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"http://microsoft.com");

    pBrowser2->Navigate(bstrURL, &vFlags, &vEmpty, &vEmpty, &vEmpty);
    pBrowser2->Quit();

    SysFreeString(bstrURL);
    pBrowser2->Release();
} 
Note  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.

Interface Information

Stock Implementationshdocvw.dll
Custom ImplementationNo
Inherits from IDispatch
HeaderExdisp.h
Minimum availabilityInternet Explorer 4.0
Minimum operating systems Windows 95, Windows NT 4.0, Windows CE 2.12
Tags :


Page view tracker