IUIAutomationElement::FindFirst メソッド (uiautomationclient.h)

指定した条件に一致する最初の子要素または子孫要素を取得します。

構文

HRESULT FindFirst(
  [in]          TreeScope              scope,
  [in]          IUIAutomationCondition *condition,
  [out, retval] IUIAutomationElement   **found
);

パラメーター

[in] scope

型: TreeScope

検索範囲を指定する値の組み合わせ。

[in] condition

型: IUIAutomationCondition*

一致する条件を表す条件へのポインター。

[out, retval] found

型: IUIAutomationElement**

要素へのポインターを受け取ります。 一致する要素が見つからない場合、NULL が返されます。

戻り値

型: HRESULT

このメソッドが成功した場合は、S_OKを返します。 それ以外の場合は、HRESULT エラー コードが返されます。

備考

検索の範囲は、メソッドが呼び出される要素を基準にしています。 要素は、ツリー内で検出された順序で返されます。

この関数は、Microsoft UI オートメーション ツリーで先祖要素を検索できません。つまり、TreeScope_Ancestors は、スコープ パラメーターに対して有効な値ではありません。

デスクトップで最上位のウィンドウを検索するときは、TreeScope_Descendantsではなく、スコープ パラメーターに TreeScope_Children を指定してください。 デスクトップのサブツリー全体を検索すると、何千もの項目が反復処理され、スタック オーバーフローが発生する可能性があります。

クライアント アプリケーションが独自のユーザー インターフェイスで要素を検索しようとする場合は、すべての UI オートメーション呼び出しを別のスレッドで行う必要があります。

この関数は、生のツリー内の要素を無視します。 FindFirstBuildCache 呼び出し、その関数に渡 IUIAutomationCacheRequest で適切な TreeScope を指定して、生のツリーを検索します。

必要条件

要件 価値
サポートされる最小クライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム、Windows XP SP3 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム、Windows Server 2003 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー uiautomationclient.h (UIAutomation.h を含む)

関連項目

概念

FindAll

FindAllBuildCache の

FindFirstBuildCache の

IUIAutomationElement の

UI オートメーション要素の取得

リファレンス