IShellWindows-Schnittstelle (exdisp.h)

Bietet Zugriff auf die Sammlung geöffneter Shellfenster.

Vererbung

Die IShellWindows-Schnittstelle erbt von der IDispatch-Schnittstelle . IShellWindows verfügt auch über folgende Membertypen:

Methoden

Die IShellWindows-Schnittstelle verfügt über diese Methoden.

 
IShellWindows::_NewEnum

Ruft einen Enumerator für die Auflistung der Shellfenster ab.
IShellWindows::FindWindowSW

Sucht ein Fenster in der Shellfensterauflistung und gibt das Handle und die IDispatch-Schnittstelle des Fensters zurück.
IShellWindows::get_Count

Ruft die Anzahl der Fenster in der Shellfensterauflistung ab.
IShellWindows::Item

Gibt das registrierte Shellfenster für einen angegebenen Index zurück.
IShellWindows::OnActivated

Tritt auf, wenn sich der Aktivierungsstatus eines Shellfensters ändert.
IShellWindows::OnCreated

Tritt auf, wenn ein neues Shellfenster für einen Frame erstellt wird.
IShellWindows::OnNavigate

Tritt auf, wenn ein Shellfenster zu einem neuen Speicherort navigiert wird.
IShellWindows::P rocessAttachDetach

Veraltet. Gibt immer S_OK zurück.
IShellWindows::Register

Registriert ein geöffnetes Fenster als Shellfenster; Das Fenster wird durch handle angegeben.
IShellWindows::RegisterPending

Registriert ein ausstehendes Fenster als Shellfenster; Das Fenster wird durch eine absolute PIDL angegeben.
IShellWindows::Revoke

Widerruft die Registrierung eines Shellfensters und entfernt das Fenster aus der Shellfenstersammlung.

Hinweise

Ein Shellfenster ist ein Fenster, das durch Aufrufen von IShellWindows::Register oder IShellWindows::RegisterPending registriert wurde. Bei der Registrierung wird das angegebene Fenster der Auflistung der Shellfenster hinzugefügt und ein Cookie gewährt, das das Fenster innerhalb der Sammlung eindeutig identifiziert. Die Registrierung eines Fensters kann aufgehoben werden, indem IShellWindows::Revoke aufgerufen wird.

Die Shell-Windows-Sammlung umfasst Datei-Explorer-Fenster und Webbrowser-Windows Internet Explorer und Drittanbieterwebbrowser). Normalerweise implementiert jedes Shellfenster IDispatch; IShellWindows::Item und IShellWindows::FindWindowSW bieten Möglichkeiten, auf die IDispatch-Schnittstelle eines Shellfensters zuzugreifen. Weitere Informationen finden Sie unter Dispatch Interface und Automation Functions.

IID IID_IShellWindows (85CB6900-4D95-11CF-960C-0080C7F4EE85)
CLSID CLSID_ShellWindows (9BA05972-F6A8-11CF-A442-00A0C90A8F39)
 

Das folgende Beispiel zeigt, wie Sie eine IShellWindows-instance abrufen.

#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();
    }
}

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile exdisp.h

Weitere Informationen

Cocreateinstance

CoInitialize

DShellWindowsEvents

IDispatch

ShellWindows