次の方法で共有


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

プロパティの識別子。 プロパティ ID の一覧については、「 プロパティ識別子」を参照してください。

[in] value

型: VARIANT

プロパティ値。

[out, retval] pFound

種類: IUIAutomationElement**

一致する要素へのポインターを受け取ります。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

プロバイダーは、一致する要素が仮想化されている場合、実際の IUIAutomationElement インターフェイスまたはプレースホルダーを返す場合があります。

要求されたプロパティがコンテナーが検索をサポートしていない場合、このメソッドはE_INVALIDARGを返します。 ほとんどのコンテナーで Name プロパティがサポートされ、コンテナーに適している場合は AutomationId と IsSelected がサポートされることが予想されます。

このメソッドは、一致するオブジェクトを見つけるために複数のオブジェクトを走査する必要があるため、速度が低下する可能性があります。 ループ内で複数のアイテムを返すために使用する場合、各アイテムが 1 回だけ返される限り 、特定の順序は定義されません (つまり、ループを終了する必要があります)。 また、このメソッドは UI 中心ではなく項目中心であるため、複数の UI 表現を持つ項目は 1 回だけヒットする必要があります。

propertyId パラメーターが 0 (ゼロ) として指定されている場合、プロバイダーは pStartAfter の後に次の項目を返す必要があります。 pStartAfterPROPERTYId が 0 の NULL として指定されている場合、プロバイダーはコンテナー内の最初の項目を返す必要があります。 propertyId が 0 として指定されている場合は、value パラメーターをVT_EMPTYする必要があります。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム、SP3 を使用した Windows XP、Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム、WINDOWS Server 2003 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー uiautomationclient.h (UIAutomation.h を含む)

こちらもご覧ください

IUIAutomationItemContainerPattern

実現

参照