Интерфейс IShellWindows (exdisp.h)
Предоставляет доступ к коллекции открытых окон оболочки.
Наследование
Интерфейс IShellWindows наследуется от интерфейса IDispatch . IShellWindows также имеет следующие типы элементов:
Методы
Интерфейс IShellWindows содержит следующие методы.
IShellWindows::_NewEnum Извлекает перечислитель для коллекции окон оболочки. |
IShellWindows::FindWindowSW Находит окно в коллекции окон оболочки и возвращает дескриптор окна и интерфейс IDispatch. |
IShellWindows::get_Count Возвращает количество окон в коллекции окон оболочки. |
IShellWindows::Item Возвращает зарегистрированное окно оболочки для указанного индекса. |
IShellWindows::OnActivated Происходит при изменении состояния активации окна оболочки. |
IShellWindows::OnCreated Происходит при создании нового окна оболочки для кадра. |
IShellWindows::OnNavigate Происходит при переходе окна оболочки в новое расположение. |
IShellWindows::P rocessAttachDetach Не рекомендуется. Всегда возвращает S_OK. |
IShellWindows::Register Регистрирует открытое окно как окно оболочки; окно задается дескриптором. |
IShellWindows::RegisterPending Регистрирует ожидающее окно в качестве окна оболочки; окно задается абсолютным значением PIDL. |
IShellWindows::Revoke Отменяет регистрацию окна оболочки и удаляет окно из коллекции окон оболочки. |
Комментарии
Окно оболочки — это окно, зарегистрированное путем вызова IShellWindows::Register или IShellWindows::RegisterPending. После регистрации указанное окно добавляется в коллекцию окон оболочки и предоставляется файл cookie, который однозначно идентифицирует окно в коллекции. Окно можно отменить, вызвав метод IShellWindows::Revoke.
Коллекция окон оболочки включает окна проводника и окна веб-браузера Internet Обозреватель и сторонние веб-браузеры). Обычно каждое окно оболочки реализует IDispatch; IShellWindows::Item и IShellWindows::FindWindowSW предоставляют способы доступа к интерфейсу IDispatch окна оболочки . Дополнительные сведения см. в разделах Интерфейс диспетчеризации и Функции автоматизации.
IID | IID_IShellWindows (85CB6900-4D95-11CF-960C-0080C7F4EE85) |
---|---|
CLSID | CLSID_ShellWindows (9BA05972-F6A8-11CF-A442-00A0C90A8F39) |
В следующем примере показано, как получить экземпляр IShellWindows .
#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();
}
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | exdisp.h |