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


Метод IUIAutomationItemContainerPattern::FindItemByProperty (uiautomationclient.h)

Извлекает элемент внутри содержащего элемента на основе указанного значения свойства.

Синтаксис

HRESULT FindItemByProperty(
  [in]          IUIAutomationElement *pStartAfter,
  [in]          PROPERTYID           propertyId,
  [in]          VARIANT              value,
  [out, retval] IUIAutomationElement **pFound
);

Параметры

[in] pStartAfter

Тип: IUIAutomationElement*

Указатель на элемент, после которого начинается поиск, или NULL для поиска всех элементов.

[in] propertyId

Тип: PROPERTYID

Идентификатор свойства. Список идентификаторов свойств см. в разделе Идентификаторы свойств.

[in] value

Тип: VARIANT

Значение свойства.

[out, retval] pFound

Тип: IUIAutomationElement**

Получает указатель на соответствующий элемент.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Поставщик может вернуть фактический интерфейс IUIAutomationElement или заполнитель, если соответствующий элемент виртуализирован.

Этот метод возвращает E_INVALIDARG, если запрошенное свойство не поддерживает поиск в контейнере. Ожидается, что большинство контейнеров будут поддерживать свойство Name и, если это применимо для контейнера, AutomationId и IsSelected.

Этот метод может быть медленным, так как ему может потребоваться пройти через несколько объектов, чтобы найти соответствующий. При использовании в цикле для возврата нескольких элементов определенный порядок не определен, если каждый элемент возвращается только один раз (то есть цикл должен завершиться). Этот метод также ориентирован на элементы, а не на пользовательский интерфейс, поэтому элементы с несколькими представлениями пользовательского интерфейса необходимо использовать только один раз.

Если параметр propertyId указан как 0 (ноль), поставщик должен вернуть следующий элемент после pStartAfter. Если параметр pStartAfter указан как NULL с свойством PropertyId 0, поставщик должен вернуть первый элемент в контейнере. Если аргумент propertyId имеет значение 0, параметр value должен быть VT_EMPTY.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и Обновление платформы для Windows Vista, Windows XP с пакетом обновления 3 (SP3) и Обновление платформы для Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и обновление платформы для Windows Server 2008, Windows Server 2003 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header uiautomationclient.h (включая UIAutomation.h)

См. также раздел

IUIAutomationItemContainerPattern

Понимаю

Справочные материалы