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


Метод IShellWindows::FindWindowSW (exdisp.h)

Находит окно в коллекции окон оболочки и возвращает дескриптор окна и интерфейс IDispatch .

Синтаксис

HRESULT FindWindowSW(
  [in]          VARIANT   *pvarLoc,
  [in]          VARIANT   *pvarLocRoot,
  [in]          int       swClass,
  [out]         long      *phwnd,
                int       swfwOptions,
  [out, retval] IDispatch **ppdispOut
);

Параметры

[in] pvarLoc

Тип: VARIANT*

VARIANT типа VT_VARIANT | VT_BYREF. Задайте для параметра pvarLoc абсолютное значение PIDL (PIDLIST_ABSOLUTE), указывающее ищущее окно. (См. примечания.)

[in] pvarLocRoot

Тип: VARIANT*

Должен иметь значение NULL или тип VT_EMPTY.

[in] swClass

Тип: int

Один или несколько флагов ShellWindowTypeConstants , указывающих типы окон для включения в поиск.

[out] phwnd

Тип: long*

Дескриптор для окна, соответствующего заданным условиям поиска, или значение NULL , если такое окно не найдено.

swfwOptions

Тип: int

Один или несколько флагов ShellWindowFindWindowOptions, указывающих параметры поиска.

[out, retval] ppdispOut

Тип: IDispatch**

Ссылка на интерфейс IDispatch окна или значение NULL , если такое окно не найдено.

Возвращаемое значение

Тип: HRESULT

Одно из следующих значений или стандартный код результата.

Код возврата Описание
S_OK
Обнаружено окно, соответствующее указанным условиям поиска.
S_FALSE
Окно, соответствующее указанным условиям поиска, не найдено.
E_NOINTERFACE
Окно найдено, но не удалось получить ссылку на интерфейс IDispatch окна. Возникает, только если установлен флаг SWFO_NEEDDISPATCH .
E_PENDING
Окно найдено, но окно ожидает открытия. Возникает, только если установлен флаг SWFO_INCLUDEPENDING .

Комментарии

Если установлен флаг SWFO_COOKIEPASSED , pvarLoc интерпретируется как файл cookie, а не КАК PIDL.

Требования

   
Целевая платформа Windows
Header exdisp.h
DLL Shdocvw.dll (версия 5.00.2014.0216 или более поздняя)