Поделиться через


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

IWebBrowser2::AddressBar

Read/write

Sets or gets a value that indicates whether the address bar of the object is visible or hidden.

IWebBrowser2::FullScreen

Read/write

Sets or gets a value that indicates whether Internet Explorer is in full-screen mode or normal window mode.

IWebBrowser2::get_Application

Read-only

Gets the automation object for the application that is hosting the WebBrowser Control.

IWebBrowser2::get_Busy

Read-only

Gets a value that indicates whether the object is engaged in a navigation or downloading operation.

IWebBrowser2::get_Container

Read-only

Gets an object reference to a container.

IWebBrowser2::get_Document

Read-only

Gets the automation object of the active document, if any.

IWebBrowser2::get_FullName

Read-only

Retrieves the fully qualified path of the Internet Explorer executable.

IWebBrowser2::get_LocationName

Read-only

Retrieves the path or title of the resource that is currently displayed.

IWebBrowser2::get_LocationURL

Read-only

Gets the URL of the resource that is currently displayed.

IWebBrowser2::get_Name

Read-only

Retrieves the frame name or application name of the object.

IWebBrowser2::get_Parent

Read-only

Gets the parent of the object.

IWebBrowser2::get_Path

Read-only

Retrieves the system folder of the Internet Explorer executable.

IWebBrowser2::get_ReadyState

Read-only

Gets the ready state of the object.

IWebBrowser2::get_RegisterAsBrowser

Read/write

Sets or gets a value that indicates whether the object is registered as a top-level browser window.

IWebBrowser2::get_TopLevelContainer

Read-only

Gets a value that indicates whether the object is a top-level container.

IWebBrowser2::get_Type

Read-only

Gets the user type name of the contained document object.

IWebBrowser2::Height

Read/write

Sets or gets the height of the object.

IWebBrowser2::HWND

Read-only

Gets the handle of the Internet Explorer main window.

IWebBrowser2::Left

Read/write

Sets or gets the coordinate of the left edge of the object.

IWebBrowser2::MenuBar

Read/write

Sets or gets a value that indicates whether the Internet Explorer menu bar is visible.

IWebBrowser2::Offline

Read/write

Sets or gets a value that indicates whether the object is operating in offline mode.

IWebBrowser2::RegisterAsDropTarget

Read/write

Sets or gets a value that indicates whether the object is registered as a drop target for navigation.

IWebBrowser2::Resizable

Read/write

Sets or gets a value that indicates whether the object can be resized.

IWebBrowser2::Silent

Read/write

Sets or gets a value that indicates whether the object can display dialog boxes.

IWebBrowser2::StatusBar

Read/write

Sets or gets a value that indicates whether the status bar for the object is visible.

IWebBrowser2::StatusText

Read/write

Sets or gets the text in the status bar for the object.

IWebBrowser2::TheaterMode

Read/write

Sets or gets whether the object is in theater mode.

IWebBrowser2::ToolBar

Read/write

Sets or gets whether toolbars for the object are visible.

IWebBrowser2::Top

Read/write

Sets or gets the coordinate of the top edge of the object.

IWebBrowser2::Visible

Read/write

Sets or gets a value that indicates whether the object is visible or hidden.

IWebBrowser2::Width

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

See also

IDispatch