IShellWindows interface

Provides access to the collection of open Shell windows.

Members

The IShellWindows interface inherits from the IDispatch interface. IShellWindows also has these types of members:

Methods

The IShellWindows interface has these methods.

MethodDescription
_NewEnum

Retrieves an enumerator for the collection of Shell windows.

FindWindowSW

Finds a window in the Shell windows collection and returns the window's handle and IDispatch interface.

get_Count

Gets the number of windows in the Shell windows collection.

Item

Returns the registered Shell window for a specified index.

OnActivated

Occurs when a Shell window's activation state changes.

OnCreated

Occurs when a new Shell window is created for a frame.

OnNavigate

Occurs when a Shell window is navigated to a new location.

ProcessAttachDetach

Deprecated. Always returns S_OK.

Register

Registers an open window as a Shell window; the window is specified by handle.

RegisterPending

Registers a pending window as a Shell window; the window is specified by an absolute PIDL.

Revoke

Revokes a Shell window's registration and removes the window from the Shell windows collection.

 

Remarks

A Shell window is a window that has been registered by calling IShellWindows::Register or IShellWindows::RegisterPending. Upon registration, the specified window is added to the collection of Shell windows, and granted a cookie that uniquely identifies the window within the collection. A window can be un-registered by calling IShellWindows::Revoke.

The Shell windows collection includes file explorer windows and web browser windows Internet Explorer and 3rd-party web browsers). Normally each Shell window implements IDispatch; IShellWindows::Item and IShellWindows::FindWindowSW provide ways to access a Shell window's IDispatch interface. For more information, see Dispatch Interface and Automation Functions.

IIDIID_IShellWindows (85CB6900-4D95-11CF-960C-0080C7F4EE85)
CLSIDCLSID_ShellWindows (9BA05972-F6A8-11CF-A442-00A0C90A8F39)

 

The following example shows how to retrieve an IShellWindows instance.


#include "exdisp.h"
                
...

IShellWindows *psw;
HRESULT hr;

hr = CoInitialize(NULL);
if (SUCCEEDED(hr))
{
    hr = CoCreateInstance(
        CLSID_ShellWindows,
        NULL,
        CLSCTX_ALL,
        IID_IShellWindows,
        (void**)&psw
    );
    
    if (SUCCEEDED(hr))
    {
        // Use the IShellWindows instance...
        
        psw->Release();
    }
}

Requirements

Product

Internet Explorer 5

Header

Exdisp.h

IDL

Exdisp.idl

DLL

Shdocvw.dll (version 5.00.2014.0216 or later)

See also

IDispatch
DShellWindowsEvents
ShellWindows
CoInitialize
CoCreateInstance

 

 

Show: