IUIAutomationElement
COM公式ドキュメント
UI項目を表すUI Automation要素に対するメソッドとプロパティを公開します。
メソッド 82
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このUI Automation要素にキーボードフォーカスを設定します。
戻り値
UI要素に割り当てられた一意の識別子を取得します。
| runtimeId | SAFEARRAY** | out | 整数の配列としてランタイムIDへのポインターを受け取ります。 |
戻り値
解説(Remarks)
この識別子は、それが生成されたデスクトップのUIに対してのみ一意であることが保証されます。識別子は時間の経過とともに再利用されることがあります。
ランタイム識別子の形式は将来変更される可能性があります。返される識別子は不透明な値として扱い、比較のためだけに使用してください。たとえば、Microsoft UI Automation要素がキャッシュ内にあるかどうかを判断する場合などです。
指定した条件に一致する最初の子要素または子孫要素を取得します。
| scope | TreeScope | in | 検索の範囲を指定する値の組み合わせ。 |
| condition | IUIAutomationCondition* | in | 一致させる条件を表す条件へのポインター。 |
| found | IUIAutomationElement** | out | 要素へのポインターを受け取ります。一致する要素が見つからない場合はNULLが返されます。 |
戻り値
解説(Remarks)
検索の範囲は、メソッドが呼び出された要素を基準とします。要素はツリー内で検出された順序で返されます。
この関数はMicrosoft UI Automationツリー内の祖先要素を検索できません。つまり、TreeScope_Ancestorsはscopeパラメーターの有効な値ではありません。
デスクトップ上のトップレベルウィンドウを検索する場合は、scopeパラメーターにTreeScope_DescendantsではなくTreeScope_Childrenを指定してください。デスクトップのサブツリー全体を検索すると、数千個の項目を反復処理することになり、スタックオーバーフローを引き起こす可能性があります。
クライアントアプリケーションが自身のユーザーインターフェイス内の要素を検索する可能性がある場合は、すべてのUI Automation呼び出しを別のスレッドで行う必要があります。
この関数はrawツリー内の要素を無視します。rawツリーを検索するには、その関数に渡すIUIAutomationCacheRequestに適切なTreeScopeを指定してFindFirstBuildCacheを呼び出してください。
指定した条件を満たすすべてのUI Automation要素を返します。
| scope | TreeScope | in | 検索の範囲を指定する値の組み合わせ。 |
| condition | IUIAutomationCondition* | in | 一致させる条件を表す条件へのポインター。 |
| found | IUIAutomationElementArray** | out | 一致する要素の配列へのポインターを受け取ります。一致する要素が見つからない場合は空の配列が返されます。 |
戻り値
解説(Remarks)
検索の範囲は、メソッドが呼び出された要素を基準とします。要素はツリー内で検出された順序で返されます。
この関数はMicrosoft UI Automationツリー内の祖先要素を検索できません。つまり、TreeScope_Ancestorsはscopeパラメーターの有効な値ではありません。
デスクトップ上のトップレベルウィンドウを検索する場合は、scopeパラメーターにTreeScope_DescendantsではなくTreeScope_Childrenを指定してください。デスクトップのサブツリー全体を検索すると、数千個の項目を反復処理することになり、スタックオーバーフローを引き起こす可能性があります。
クライアントアプリケーションが自身のユーザーインターフェイス内の要素を検索する可能性がある場合は、すべてのUI Automation呼び出しを別のスレッドで行う必要があります。
指定した条件に一致する最初の子要素または子孫要素を取得し、要求されたプロパティとコントロールパターンをプリフェッチして、プリフェッチした項目をキャッシュに格納します。
| scope | TreeScope | in | 検索の範囲を指定する値の組み合わせ。 |
| condition | IUIAutomationCondition* | in | 一致させる条件を表す条件へのポインター。 |
| cacheRequest | IUIAutomationCacheRequest* | in | キャッシュに含めるコントロールパターンとプロパティを指定するキャッシュ要求へのポインター。 |
| found | IUIAutomationElement** | out | 一致する要素へのポインターを受け取ります。一致する要素が見つからない場合はNULLになります。 |
戻り値
解説(Remarks)
検索の範囲は、メソッドが呼び出された要素を基準とします。要素はツリー内で検出された順序で返されます。
この関数はMicrosoft UI Automationツリー内の祖先要素を検索できません。つまり、TreeScope_Ancestorsはscopeパラメーターの有効な値ではありません。
デスクトップ上のトップレベルウィンドウを検索する場合は、scopeパラメーターにTreeScope_DescendantsではなくTreeScope_Childrenを指定してください。デスクトップのサブツリー全体を検索すると、数千個の項目を反復処理することになり、スタックオーバーフローを引き起こす可能性があります。
クライアントアプリケーションが自身のユーザーインターフェイス内の要素を検索する可能性がある場合は、すべてのUI Automation呼び出しを別のスレッドで行う必要があります。
rawツリーを検索するには、cacheRequestパラメーターに適切なTreeScopeを指定してください。
指定した条件を満たすすべてのUI Automation要素を返し、要求されたプロパティとコントロールパターンをプリフェッチして、プリフェッチした項目をキャッシュに格納します。
| scope | TreeScope | in | 検索の範囲を指定する値の組み合わせ。 |
| condition | IUIAutomationCondition* | in | 一致させる条件を表す条件へのポインター。 |
| cacheRequest | IUIAutomationCacheRequest* | in | キャッシュに含めるコントロールパターンとプロパティを指定するキャッシュ要求へのポインター。 |
| found | IUIAutomationElementArray** | out | 一致する要素の配列へのポインターを受け取ります。一致するものがない場合はNULLが返されます。 |
戻り値
解説(Remarks)
検索の範囲は、メソッドが呼び出された要素を基準とします。要素はツリー内で検出された順序で返されます。
この関数はMicrosoft UI Automationツリー内の祖先要素を検索できません。つまり、TreeScope_Ancestorsはscopeパラメーターの有効な値ではありません。
デスクトップ上のトップレベルウィンドウを検索する場合は、scopeパラメーターにTreeScope_DescendantsではなくTreeScope_Childrenを指定してください。デスクトップのサブツリー全体を検索すると、数千個の項目を反復処理することになり、スタックオーバーフローを引き起こす可能性があります。
クライアントアプリケーションが自身のユーザーインターフェイス内の要素を検索する可能性がある場合は、すべてのUI Automation呼び出しを別のスレッドで行う必要があります。
更新されたキャッシュを持つ新しいUI Automation要素を取得します。
| cacheRequest | IUIAutomationCacheRequest* | in | キャッシュに含めるコントロールパターンとプロパティを指定するキャッシュ要求へのポインター。 |
| updatedElement | IUIAutomationElement** | out | 新しいUI Automation要素へのポインターを受け取ります。 |
戻り値
解説(Remarks)
元のUI Automation要素は変更されません。新しいIUIAutomationElementインターフェイスは同じ要素を参照し、同じランタイム識別子を持ちます。
このUI Automation要素のプロパティの現在の値を取得します。
| propertyId | UIA_PROPERTY_ID | in | プロパティの識別子。プロパティIDの一覧については、Property Identifiersを参照してください。 |
| retVal | VARIANT* | out | プロパティの値を受け取ります。 |
戻り値
解説(Remarks)
double型のMicrosoft UI Automationプロパティは、非数(NaN)値をサポートします。double型のプロパティを取得する場合、クライアントは_isnan関数を使用して、そのプロパティがNaN値かどうかを判断できます。
このUI Automation要素のプロパティ値を取得します。オプションで既定値を無視できます。
| propertyId | UIA_PROPERTY_ID | in | プロパティの識別子。プロパティIDの一覧については、Property Identifiersを参照してください。 |
| ignoreDefaultValue | BOOL | in | 指定したプロパティがサポートされていない場合に既定値を無視するかどうかを指定する値。既定値を返さない場合はTRUE、返す場合はFALSEを指定します。 |
| retVal | VARIANT* | out | プロパティ値を受け取ります。 |
戻り値
解説(Remarks)
ignoreDefaultValueパラメーターにFALSEを渡すことは、IUIAutomationElement::GetCurrentPropertyValueを呼び出すことと同じです。
要素自体のMicrosoft UI Automationプロバイダーがそのプロパティをサポートしている場合は、そのプロパティの値が返されます。それ以外の場合、ignoreDefaultValueがFALSEであれば、UI Automationが指定する既定値が返されます。
要求されたプロパティが以前にキャッシュされていなかった場合、このメソッドは失敗コードを返します。
double型のMicrosoft UI Automationプロパティは、非数(NaN)値をサポートします。double型のプロパティを取得する場合、クライアントは_isnan関数を使用して、そのプロパティがNaN値かどうかを判断できます。
このUI Automation要素のキャッシュからプロパティ値を取得します。
| propertyId | UIA_PROPERTY_ID | in | プロパティの識別子。プロパティIDの一覧については、Property Identifiersを参照してください。 |
| retVal | VARIANT* | out | キャッシュされたプロパティの値を受け取ります。 |
戻り値
解説(Remarks)
double型のMicrosoft UI Automationプロパティは、非数(NaN)値をサポートします。double型のプロパティを取得する場合、クライアントは_isnan関数を使用して、そのプロパティがNaN値かどうかを判断できます。
このUI Automation要素のキャッシュからプロパティ値を取得します。オプションで既定値を無視できます。
| propertyId | UIA_PROPERTY_ID | in | プロパティの識別子。プロパティIDの一覧については、Property Identifiersを参照してください。 |
| ignoreDefaultValue | BOOL | in | 指定したプロパティがサポートされていない場合に既定値を無視するかどうかを指定する値。既定値を返さない場合はTRUE、返す場合はFALSEを指定します。 |
| retVal | VARIANT* | out | プロパティの値を受け取ります。 |
戻り値
解説(Remarks)
このメソッドは、UI Automation要素のキャッシュから指定したプロパティを取得します。現在のプロパティを取得するには、IUIAutomationElement::GetCurrentPropertyValueExを呼び出してください。
ignoreDefaultValueパラメーターにFALSEを渡すことは、IUIAutomationElement::GetCachedPropertyValueを呼び出すことと同じです。
要素自体のMicrosoft UI Automationプロバイダーがそのプロパティをサポートしている場合は、そのプロパティの値が返されます。それ以外の場合、ignoreDefaultValueがFALSEであれば、UI Automationが指定する既定値が返されます。
要求されたプロパティが以前にキャッシュされていなかった場合、このメソッドは失敗コードを返します。
double型のMicrosoft UI Automationプロパティは、非数(NaN)値をサポートします。double型のプロパティを取得する場合、クライアントは_isnan関数を使用して、そのプロパティがNaN値かどうかを判断できます。
このUI Automation要素上の指定したパターンのコントロールパターンインターフェイスを取得します。
| patternId | UIA_PATTERN_ID | in | コントロールパターンの識別子。コントロールパターンIDの一覧については、Control Pattern Identifiersを参照してください。 |
| riid | GUID* | in | ppvを通じて取得するインターフェイスのIIDへの参照。 |
| patternObject | void** | out | riidで要求されたインターフェイスポインターを受け取ります。 |
戻り値
解説(Remarks)
riidおよびppvパラメーターをまとめるには、Objbase.hで定義されているIID_PPV_ARGSマクロを使用することをお勧めします。このマクロは、ppvの値が指すインターフェイスに基づいて正しいIIDを提供するため、コーディングエラーの可能性を排除できます。
このUI Automation要素のキャッシュから指定したパターンのコントロールパターンインターフェイスを取得します。
| patternId | UIA_PATTERN_ID | in | コントロールパターンの識別子。コントロールパターンIDの一覧については、Control Pattern Identifiersを参照してください。 |
| riid | GUID* | in | ppvを通じて取得するインターフェイスのIIDへの参照。 |
| patternObject | void** | out | riidで要求されたインターフェイスポインターを受け取ります。 |
戻り値
解説(Remarks)
riidおよびppvパラメーターをまとめるには、Objbase.hで定義されているIID_PPV_ARGSマクロを使用することをお勧めします。このマクロは、ppvの値が指すインターフェイスに基づいて正しいIIDを提供するため、コーディングエラーの可能性を排除できます。
このUI Automation要素上の指定したコントロールパターンのIUnknownインターフェイスを取得します。
| patternId | UIA_PATTERN_ID | in | コントロールパターンの識別子。コントロールパターンIDの一覧については、Control Pattern Identifiersを参照してください。 |
| patternObject | IUnknown** | out | IUnknownインターフェイスへのポインターを受け取ります。 |
戻り値
解説(Remarks)
このメソッドは、呼び出し時点での可用性に基づいて、指定したコントロールパターンを取得します。
一部の形式のUIでは、このメソッドはプロセス間のパフォーマンスオーバーヘッドを発生させます。アプリケーションは、コントロールパターンをキャッシュし、IUIAutomationElement::GetCachedPatternを使用して取得することで、オーバーヘッドを軽減できます。
このUI Automation要素の指定したコントロールパターンのIUnknownインターフェイスをキャッシュから取得します。
| patternId | UIA_PATTERN_ID | in | コントロールパターンの識別子。コントロールパターンIDの一覧については、Control Pattern Identifiersを参照してください。 |
| patternObject | IUnknown** | out | IUnknownインターフェイスへのポインターを受け取ります。 |
戻り値
このUI Automation要素の親をキャッシュから取得します。
| parent | IUIAutomationElement** | out | キャッシュされた親要素へのポインターを受け取ります。 |
戻り値
このUI Automation要素のキャッシュされた子要素を取得します。
| children | IUIAutomationElementArray** | out | キャッシュされた子要素のコレクションへのポインターを受け取ります。 |
戻り値
解説(Remarks)
返されるコレクションのビューは、この要素を取得したときに有効だったIUIAutomationCacheRequestのTreeFilterプロパティによって決まります。
子要素は、キャッシュ要求の範囲にTreeScope_Subtree、TreeScope_Children、またはTreeScope_Descendantsが含まれている場合にのみキャッシュされます。
キャッシュ要求でこのレベルの子要素をキャッシュするよう指定されているが子要素が存在しない場合、このプロパティの値は0になります。ただし、このレベルで子要素をキャッシュする要求が行われていない場合、プロパティを取得しようとするとエラーが返されます。
要素をホストするプロセスの識別子を取得します。
| retVal | INT* | out | 要素が属するプロセスの ID を受け取る INT へのポインタである。 |
要素のコントロールタイプを取得します。
| retVal | UIA_CONTROLTYPE_ID* | out | 要素のコントロール種別を示す UIA_CONTROLTYPE_ID を受け取るポインタである。 |
解説(Remarks)
コントロールタイプは、ローカライズされたコントロールタイプや複雑な論理規則の組み合わせに依存することなく、UI Automation要素の既知の対話モデルを表します。 このプロパティは、コントロールがIUIAutomationMultipleViewPatternインターフェイスをサポートしていない限り、実行時に変更できません。例としてWin32 ListViewコントロールがあり、現在のビューに応じてデータグリッドからリストへと変化することがあります。
要素のコントロールタイプのローカライズされた説明を取得します。
| retVal | LPWSTR* | out | コントロール種別のローカライズされた名前を文字列で受け取る LPWSTR へのポインタである。 |
要素の名前を取得します。
| retVal | LPWSTR* | out | 要素の名前を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
要素の名前は、要素でautomation IDプロパティがサポートされていない場合に、要素ツリー内でその要素を見つけるために使用できます。
要素のアクセラレーターキーを取得します。
| retVal | LPWSTR* | out | 要素のアクセラレーターキー(ショートカットキー)を文字列で受け取る LPWSTR へのポインタである。 |
要素のアクセスキー文字を取得します。
| retVal | LPWSTR* | out | 要素のアクセスキー(ニーモニック)を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
アクセスキーとは、メニュー、メニュー項目、またはボタンなどのコントロールのラベルのテキストに含まれる文字で、割り当てられたメニュー機能を起動するものです。たとえば、文字「O」は[ファイル]メニューから[ファイルを開く]コモンダイアログボックスを呼び出すためによく使用されます。アクセスキープロパティが設定されているMicrosoft UI Automation要素は、常にInvokeコントロールパターンを実装します。
要素がキーボードフォーカスを持っているかどうかを示します。
| retVal | BOOL* | out | 要素が現在キーボードフォーカスを持つかどうかを受け取る BOOL へのポインタである。 |
要素がキーボードフォーカスを受け入れられるかどうかを示します。
| retVal | BOOL* | out | 要素がキーボードフォーカスを受け取れるかどうかを受け取る BOOL へのポインタである。 |
要素が有効かどうかを示します。
| retVal | BOOL* | out | 要素が有効(操作可能)かどうかを受け取る BOOL へのポインタである。 |
要素のMicrosoft UI Automation識別子を取得します。
| retVal | LPWSTR* | out | 要素の AutomationId(自動化用の識別文字列)を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
この識別子は、コンテナー内の兄弟要素の間で一意であり、アプリケーションのすべてのインスタンスで同じです。
要素のクラス名を取得します。
| retVal | LPWSTR* | out | 要素のクラス名を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティの値は実装依存です。このプロパティはテスト環境で役立ちます。
要素のヘルプテキストを取得します。
| retVal | LPWSTR* | out | 要素のヘルプテキストを文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
この情報は通常、ツールチップから取得されます。
要素のカルチャー識別子を取得します。
| retVal | INT* | out | 要素のカルチャを示すロケール識別子(LCID)を受け取る INT へのポインタである。 |
要素がコントロール要素かどうかを示します。
| retVal | BOOL* | out | 要素がコントロールビューに含まれるコントロール要素かどうかを受け取る BOOL へのポインタである。 |
要素がコンテンツ要素かどうかを示します。
| retVal | BOOL* | out | 要素がコンテンツビューに含まれるコンテンツ要素かどうかを受け取る BOOL へのポインタである。 |
解説(Remarks)
コンテンツ要素には、ユーザーに提示されるデータが含まれます。コンテンツ要素の例としては、リストボックス内の項目やダイアログボックス内のボタンがあります。コンテンツ以外の要素(周辺要素とも呼ばれます)は、通常、複合コントロール内のコンテンツを操作するために使用されます。たとえば、ドロップダウンコントロールのボタンなどです。
要素が伏せ字化されたパスワードを含んでいるかどうかを示します。
| retVal | BOOL* | out | 要素がパスワード入力欄など機密内容を保持するかどうかを受け取る BOOL へのポインタである。 |
解説(Remarks)
このプロパティにより、スクリーンリーダーなどのアプリケーションは、コントロールのテキストコンテンツを読み上げるべきかどうかを判断できます。
要素のウィンドウハンドルを取得します。
| retVal | HWND* | out | 要素に対応するネイティブウィンドウのハンドル(HWND)を受け取るポインタである。 |
要素が表すUI項目の種類の説明を取得します。
| retVal | LPWSTR* | out | 要素が表す項目の種類を説明する文字列を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティは、リスト、ツリービュー、またはデータグリッド内の項目に関する情報を取得するために使用されます。たとえば、ファイルディレクトリビュー内の項目は「ドキュメントファイル」や「フォルダー」などになります。
要素が画面外にあるかどうかを示します。
| retVal | BOOL* | out | 要素が画面外にあり表示されていないかどうかを受け取る BOOL へのポインタである。 |
要素の向きを示す値を取得します。
| retVal | OrientationType* | out | 要素の向き(水平・垂直・なし)を示す OrientationType 値を受け取るポインタである。 |
解説(Remarks)
このプロパティは、垂直または水平の向きを持つことができるスクロールバーやスライダーなどのコントロールでサポートされます。
基盤となるUIフレームワークの名前を取得します。
| retVal | LPWSTR* | out | 要素を実装する UI フレームワークの識別文字列を受け取る LPWSTR へのポインタである。 |
要素がフォームで入力必須かどうかを示します。
| retVal | BOOL* | out | 要素がフォーム送信に必須の入力項目かどうかを受け取る BOOL へのポインタである。 |
要素内の項目の状態の説明を取得します。
| retVal | LPWSTR* | out | 要素の項目状態を説明する文字列を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティにより、クライアントは要素が項目に関する状態を伝えているかどうかを確認できます。たとえば、メッセージングアプリケーションで連絡先に関連付けられた項目は、「取り込み中」や「接続済み」などになります。
要素を完全に囲む四角形の座標を取得します。
| retVal | RECT* | out | 要素の外接矩形(画面座標)を受け取る RECT へのポインタである。 |
この要素のテキストラベルを含む要素を取得します。
| retVal | IUIAutomationElement** | out | この要素のラベルとなる要素を受け取る IUIAutomationElement へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、たとえばコンボボックスの静的テキストラベルを取得するために使用できます。
このプロパティは、Accessible Rich Internet Applications(ARIA)のlabeledbyプロパティに対応します。
要素のAccessible Rich Internet Applications(ARIA)ロールを取得します。
| retVal | LPWSTR* | out | 要素の ARIA ロールを表す文字列を受け取る LPWSTR へのポインタである。 |
要素のAccessible Rich Internet Applications(ARIA)プロパティを取得します。
| retVal | LPWSTR* | out | 要素の ARIA プロパティを名前と値の組で表す文字列を受け取る LPWSTR へのポインタである。 |
要素がフォームに対して有効なデータを含んでいるかどうかを示します。
| retVal | BOOL* | out | 要素に入力されたデータがフォームとして妥当かどうかを受け取る BOOL へのポインタである。 |
この要素がコントローラーとして機能する対象の要素の配列を取得します。
| retVal | IUIAutomationElementArray** | out | この要素が制御している対象要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
この要素を説明する要素の配列を取得します。
| retVal | IUIAutomationElementArray** | out | この要素を説明する要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、Accessible Rich Internet Applications(ARIA)のdescribedbyプロパティに対応します。
現在の要素の後の読み上げ順序を示す要素の配列を取得します。
| retVal | IUIAutomationElementArray** | out | 読み上げ順序で次に続く要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、Accessible Rich Internet Applications(ARIA)のflowtoプロパティに対応します。
この要素のプロバイダーの説明を取得します。
| retVal | LPWSTR* | out | 要素を提供するプロバイダーの説明文字列を受け取る LPWSTR へのポインタである。 |
要素をホストするプロセスのキャッシュされたIDを取得します。
| retVal | INT* | out | キャッシュされた、要素が属するプロセスの ID を受け取る INT へのポインタである。 |
要素のコントロールタイプを示すキャッシュされた値を取得します。
| retVal | UIA_CONTROLTYPE_ID* | out | キャッシュされたコントロール種別を示す UIA_CONTROLTYPE_ID を受け取るポインタである。 |
解説(Remarks)
コントロールタイプは、ローカライズされたコントロールタイプや複雑な論理規則の組み合わせに依存することなく、UI Automation要素の既知の対話モデルを表します。このプロパティは、コントロールがIUIAutomationMultipleViewPatternインターフェイスをサポートしていない限り、実行時に変更できません。例としてWin32 ListViewコントロールがあり、現在のビューに応じてデータグリッドからリストへと変化することがあります。
要素のコントロールタイプのキャッシュされたローカライズされた説明を取得します。
| retVal | LPWSTR* | out | キャッシュされたコントロール種別のローカライズ名を受け取る LPWSTR へのポインタである。 |
要素のキャッシュされた名前を取得します。
| retVal | LPWSTR* | out | キャッシュされた要素の名前を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
要素の名前は、要素でautomation IDプロパティがサポートされていない場合に、要素ツリー内でその要素を見つけるために使用できます。
要素のキャッシュされたアクセラレーターキーを取得します。
| retVal | LPWSTR* | out | キャッシュされたアクセラレーターキーを文字列で受け取る LPWSTR へのポインタである。 |
要素のキャッシュされたアクセスキー文字を取得します。
| retVal | LPWSTR* | out | キャッシュされたアクセスキーを文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
アクセスキーとは、メニュー、メニュー項目、またはボタンなどのコントロールのラベルのテキストに含まれる文字で、割り当てられたメニュー機能を起動するものです。たとえば、文字「O」は[ファイル]メニューから[ファイルを開く]コモンダイアログボックスを呼び出すためによく使用されます。アクセスキープロパティが設定されているMicrosoft UI Automation要素は、常にInvokeコントロールパターンを実装します。
要素がキーボードフォーカスを持っているかどうかを示すキャッシュされた値。
| retVal | BOOL* | out | キャッシュされた、要素がキーボードフォーカスを持つかどうかを受け取る BOOL へのポインタである。 |
要素がキーボードフォーカスを受け入れられるかどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素がキーボードフォーカスを受け取れるかどうかを受け取る BOOL へのポインタである。 |
要素が有効かどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素が有効かどうかを受け取る BOOL へのポインタである。 |
要素のキャッシュされたMicrosoft UI Automation識別子を取得します。
| retVal | LPWSTR* | out | キャッシュされた AutomationId を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
UI Automation識別子は、コンテナー内の兄弟要素の間で一意であり、アプリケーションのすべてのインスタンスで同じです。
要素のキャッシュされたクラス名を取得します。
| retVal | LPWSTR* | out | キャッシュされたクラス名を文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティの値は実装依存です。このプロパティはテスト環境で役立ちます。
要素のキャッシュされたヘルプテキストを取得します。
| retVal | LPWSTR* | out | キャッシュされたヘルプテキストを文字列で受け取る LPWSTR へのポインタである。 |
解説(Remarks)
この情報は通常、ツールチップから取得されます。
要素に関連付けられたカルチャーを示すキャッシュされた値を取得します。
| retVal | INT* | out | キャッシュされたカルチャを示すロケール識別子(LCID)を受け取る INT へのポインタである。 |
要素がコントロール要素かどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素がコントロール要素かどうかを受け取る BOOL へのポインタである。 |
解説(Remarks)
コントロールとは、情報を表示する、またはアクションを実行するためにユーザーが操作できるUI内の要素です。
要素がコンテンツ要素かどうかを示すキャッシュされた値。
| retVal | BOOL* | out | キャッシュされた、要素がコンテンツ要素かどうかを受け取る BOOL へのポインタである。 |
解説(Remarks)
コンテンツ要素には、ユーザーに提示されるデータが含まれます。コンテンツ要素の例としては、リストボックス内の項目やダイアログボックス内のボタンがあります。コンテンツ以外の要素(周辺要素とも呼ばれます)は、通常、複合コントロール内のコンテンツを操作するために使用されます。たとえば、ドロップダウンコントロールのボタンなどです。
要素が伏せ字化されたパスワードを含んでいるかどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素が機密内容を保持するかどうかを受け取る BOOL へのポインタである。 |
解説(Remarks)
このプロパティにより、スクリーンリーダーなどのアプリケーションは、コントロールのテキストコンテンツを読み上げるべきかどうかを判断できます。
要素のキャッシュされたウィンドウハンドルを取得します。
| retVal | HWND* | out | キャッシュされた、要素に対応するネイティブウィンドウのハンドル(HWND)を受け取るポインタである。 |
要素が表す項目の種類を説明するキャッシュされた文字列を取得します。
| retVal | LPWSTR* | out | キャッシュされた項目の種類を説明する文字列を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティは、リスト、ツリービュー、またはデータグリッド内の項目に関する情報を取得するために使用されます。たとえば、ファイルディレクトリビュー内の項目は「ドキュメントファイル」や「フォルダー」などになります。
要素が画面外にあるかどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素が画面外にあるかどうかを受け取る BOOL へのポインタである。 |
要素の向きを示すキャッシュされた値を取得します。
| retVal | OrientationType* | out | キャッシュされた要素の向きを示す OrientationType 値を受け取るポインタである。 |
解説(Remarks)
このプロパティは、垂直または水平の向きを持つことができるスクロールバーやスライダーなどのコントロールでサポートされます。
要素に関連付けられた基盤となるUIフレームワークのキャッシュされた名前を取得します。
| retVal | LPWSTR* | out | キャッシュされた UI フレームワークの識別文字列を受け取る LPWSTR へのポインタである。 |
要素がフォームで入力必須かどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、要素がフォームに必須かどうかを受け取る BOOL へのポインタである。 |
要素内の項目の状態のキャッシュされた説明を取得します。
| retVal | LPWSTR* | out | キャッシュされた項目状態を説明する文字列を受け取る LPWSTR へのポインタである。 |
解説(Remarks)
このプロパティにより、クライアントは要素が項目に関する状態を伝えているかどうかを確認できます。たとえば、メッセージングアプリケーションで連絡先に関連付けられた項目は、「取り込み中」や「接続済み」などになります。
要素を完全に囲む四角形のキャッシュされた座標を取得します。
| retVal | RECT* | out | キャッシュされた要素の外接矩形(画面座標)を受け取る RECT へのポインタである。 |
この要素のテキストラベルを含むキャッシュされた要素を取得します。
| retVal | IUIAutomationElement** | out | キャッシュされた、この要素のラベルとなる要素を受け取る IUIAutomationElement へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、たとえばコンボボックスの静的テキストラベルを取得するために使用できます。
このプロパティは、Accessible Rich Internet Applications(ARIA)のlabeledbyプロパティに対応します。
要素のキャッシュされたAccessible Rich Internet Applications(ARIA)ロールを取得します。
| retVal | LPWSTR* | out | キャッシュされた ARIA ロールを表す文字列を受け取る LPWSTR へのポインタである。 |
要素のキャッシュされたAccessible Rich Internet Applications(ARIA)プロパティを取得します。
| retVal | LPWSTR* | out | キャッシュされた ARIA プロパティを名前と値の組で表す文字列を受け取る LPWSTR へのポインタである。 |
要素がフォームに対して有効なデータを含んでいるかどうかを示すキャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、入力データがフォームとして妥当かどうかを受け取る BOOL へのポインタである。 |
この要素がコントローラーとして機能する対象のUI Automation要素のキャッシュされた配列を取得します。
| retVal | IUIAutomationElementArray** | out | キャッシュされた、この要素が制御している対象要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
この要素を説明する要素のキャッシュされた配列を取得します。
| retVal | IUIAutomationElementArray** | out | キャッシュされた、この要素を説明する要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、Accessible Rich Internet Applications(ARIA)のdescribedbyプロパティに対応します。
現在の要素の後の読み上げ順序を示す要素のキャッシュされた配列を取得します。
| retVal | IUIAutomationElementArray** | out | キャッシュされた、読み上げ順序で次に続く要素の配列を受け取る IUIAutomationElementArray へのポインタのポインタである。 |
解説(Remarks)
このプロパティは、Accessible Rich Internet Applications(ARIA)のflowtoプロパティに対応します。
この要素のプロバイダーのキャッシュされた説明を取得します。
| retVal | LPWSTR* | out | キャッシュされたプロバイダーの説明文字列を受け取る LPWSTR へのポインタである。 |
要素上のクリック可能な点を取得します。
| clickable | POINT* | out | クライアントがこの要素をクリックするために使用できる点の物理的な画面座標を受け取ります。 |
| gotClickable | BOOL* | out | クリック可能な点が取得された場合はTRUE、それ以外の場合はFALSEを受け取ります。 |
戻り値
解説(Remarks)
クライアントアプリケーションは、このメソッドを使用してマウスの左ボタンまたは右ボタンのクリックをシミュレートできます。たとえば、マウスの右ボタンのクリックをシミュレートしてコントロールのコンテキストメニューを表示するには、次のようにします。
- GetClickablePointメソッドを呼び出して、コントロール上のクリック可能な点を見つけます。
- SendInput関数を呼び出して、右マウスボタンの押下と解放のシーケンスを送信します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAutomationElement "{D22108AA-8AC5-49A5-837B-37BBB3D7591E}" #usecom global IUIAutomationElement IID_IUIAutomationElement "{}" #comfunc global IUIAutomationElement_SetFocus 3 #comfunc global IUIAutomationElement_GetRuntimeId 4 var #comfunc global IUIAutomationElement_FindFirst 5 int,sptr,sptr #comfunc global IUIAutomationElement_FindAll 6 int,sptr,sptr #comfunc global IUIAutomationElement_FindFirstBuildCache 7 int,sptr,sptr,sptr #comfunc global IUIAutomationElement_FindAllBuildCache 8 int,sptr,sptr,sptr #comfunc global IUIAutomationElement_BuildUpdatedCache 9 sptr,sptr #comfunc global IUIAutomationElement_GetCurrentPropertyValue 10 int,var #comfunc global IUIAutomationElement_GetCurrentPropertyValueEx 11 int,int,var #comfunc global IUIAutomationElement_GetCachedPropertyValue 12 int,var #comfunc global IUIAutomationElement_GetCachedPropertyValueEx 13 int,int,var #comfunc global IUIAutomationElement_GetCurrentPatternAs 14 int,var,sptr #comfunc global IUIAutomationElement_GetCachedPatternAs 15 int,var,sptr #comfunc global IUIAutomationElement_GetCurrentPattern 16 int,sptr #comfunc global IUIAutomationElement_GetCachedPattern 17 int,sptr #comfunc global IUIAutomationElement_GetCachedParent 18 sptr #comfunc global IUIAutomationElement_GetCachedChildren 19 sptr #comfunc global IUIAutomationElement_get_CurrentProcessId 20 var #comfunc global IUIAutomationElement_get_CurrentControlType 21 var #comfunc global IUIAutomationElement_get_CurrentLocalizedControlType 22 var #comfunc global IUIAutomationElement_get_CurrentName 23 var #comfunc global IUIAutomationElement_get_CurrentAcceleratorKey 24 var #comfunc global IUIAutomationElement_get_CurrentAccessKey 25 var #comfunc global IUIAutomationElement_get_CurrentHasKeyboardFocus 26 var #comfunc global IUIAutomationElement_get_CurrentIsKeyboardFocusable 27 var #comfunc global IUIAutomationElement_get_CurrentIsEnabled 28 var #comfunc global IUIAutomationElement_get_CurrentAutomationId 29 var #comfunc global IUIAutomationElement_get_CurrentClassName 30 var #comfunc global IUIAutomationElement_get_CurrentHelpText 31 var #comfunc global IUIAutomationElement_get_CurrentCulture 32 var #comfunc global IUIAutomationElement_get_CurrentIsControlElement 33 var #comfunc global IUIAutomationElement_get_CurrentIsContentElement 34 var #comfunc global IUIAutomationElement_get_CurrentIsPassword 35 var #comfunc global IUIAutomationElement_get_CurrentNativeWindowHandle 36 sptr #comfunc global IUIAutomationElement_get_CurrentItemType 37 var #comfunc global IUIAutomationElement_get_CurrentIsOffscreen 38 var #comfunc global IUIAutomationElement_get_CurrentOrientation 39 var #comfunc global IUIAutomationElement_get_CurrentFrameworkId 40 var #comfunc global IUIAutomationElement_get_CurrentIsRequiredForForm 41 var #comfunc global IUIAutomationElement_get_CurrentItemStatus 42 var #comfunc global IUIAutomationElement_get_CurrentBoundingRectangle 43 var #comfunc global IUIAutomationElement_get_CurrentLabeledBy 44 sptr #comfunc global IUIAutomationElement_get_CurrentAriaRole 45 var #comfunc global IUIAutomationElement_get_CurrentAriaProperties 46 var #comfunc global IUIAutomationElement_get_CurrentIsDataValidForForm 47 var #comfunc global IUIAutomationElement_get_CurrentControllerFor 48 sptr #comfunc global IUIAutomationElement_get_CurrentDescribedBy 49 sptr #comfunc global IUIAutomationElement_get_CurrentFlowsTo 50 sptr #comfunc global IUIAutomationElement_get_CurrentProviderDescription 51 var #comfunc global IUIAutomationElement_get_CachedProcessId 52 var #comfunc global IUIAutomationElement_get_CachedControlType 53 var #comfunc global IUIAutomationElement_get_CachedLocalizedControlType 54 var #comfunc global IUIAutomationElement_get_CachedName 55 var #comfunc global IUIAutomationElement_get_CachedAcceleratorKey 56 var #comfunc global IUIAutomationElement_get_CachedAccessKey 57 var #comfunc global IUIAutomationElement_get_CachedHasKeyboardFocus 58 var #comfunc global IUIAutomationElement_get_CachedIsKeyboardFocusable 59 var #comfunc global IUIAutomationElement_get_CachedIsEnabled 60 var #comfunc global IUIAutomationElement_get_CachedAutomationId 61 var #comfunc global IUIAutomationElement_get_CachedClassName 62 var #comfunc global IUIAutomationElement_get_CachedHelpText 63 var #comfunc global IUIAutomationElement_get_CachedCulture 64 var #comfunc global IUIAutomationElement_get_CachedIsControlElement 65 var #comfunc global IUIAutomationElement_get_CachedIsContentElement 66 var #comfunc global IUIAutomationElement_get_CachedIsPassword 67 var #comfunc global IUIAutomationElement_get_CachedNativeWindowHandle 68 sptr #comfunc global IUIAutomationElement_get_CachedItemType 69 var #comfunc global IUIAutomationElement_get_CachedIsOffscreen 70 var #comfunc global IUIAutomationElement_get_CachedOrientation 71 var #comfunc global IUIAutomationElement_get_CachedFrameworkId 72 var #comfunc global IUIAutomationElement_get_CachedIsRequiredForForm 73 var #comfunc global IUIAutomationElement_get_CachedItemStatus 74 var #comfunc global IUIAutomationElement_get_CachedBoundingRectangle 75 var #comfunc global IUIAutomationElement_get_CachedLabeledBy 76 sptr #comfunc global IUIAutomationElement_get_CachedAriaRole 77 var #comfunc global IUIAutomationElement_get_CachedAriaProperties 78 var #comfunc global IUIAutomationElement_get_CachedIsDataValidForForm 79 var #comfunc global IUIAutomationElement_get_CachedControllerFor 80 sptr #comfunc global IUIAutomationElement_get_CachedDescribedBy 81 sptr #comfunc global IUIAutomationElement_get_CachedFlowsTo 82 sptr #comfunc global IUIAutomationElement_get_CachedProviderDescription 83 var #comfunc global IUIAutomationElement_GetClickablePoint 84 var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IUIAutomationElement "{D22108AA-8AC5-49A5-837B-37BBB3D7591E}" #usecom global IUIAutomationElement IID_IUIAutomationElement "{}" #comfunc global IUIAutomationElement_SetFocus 3 #comfunc global IUIAutomationElement_GetRuntimeId 4 sptr #comfunc global IUIAutomationElement_FindFirst 5 int,sptr,sptr #comfunc global IUIAutomationElement_FindAll 6 int,sptr,sptr #comfunc global IUIAutomationElement_FindFirstBuildCache 7 int,sptr,sptr,sptr #comfunc global IUIAutomationElement_FindAllBuildCache 8 int,sptr,sptr,sptr #comfunc global IUIAutomationElement_BuildUpdatedCache 9 sptr,sptr #comfunc global IUIAutomationElement_GetCurrentPropertyValue 10 int,sptr #comfunc global IUIAutomationElement_GetCurrentPropertyValueEx 11 int,int,sptr #comfunc global IUIAutomationElement_GetCachedPropertyValue 12 int,sptr #comfunc global IUIAutomationElement_GetCachedPropertyValueEx 13 int,int,sptr #comfunc global IUIAutomationElement_GetCurrentPatternAs 14 int,sptr,sptr #comfunc global IUIAutomationElement_GetCachedPatternAs 15 int,sptr,sptr #comfunc global IUIAutomationElement_GetCurrentPattern 16 int,sptr #comfunc global IUIAutomationElement_GetCachedPattern 17 int,sptr #comfunc global IUIAutomationElement_GetCachedParent 18 sptr #comfunc global IUIAutomationElement_GetCachedChildren 19 sptr #comfunc global IUIAutomationElement_get_CurrentProcessId 20 sptr #comfunc global IUIAutomationElement_get_CurrentControlType 21 sptr #comfunc global IUIAutomationElement_get_CurrentLocalizedControlType 22 sptr #comfunc global IUIAutomationElement_get_CurrentName 23 sptr #comfunc global IUIAutomationElement_get_CurrentAcceleratorKey 24 sptr #comfunc global IUIAutomationElement_get_CurrentAccessKey 25 sptr #comfunc global IUIAutomationElement_get_CurrentHasKeyboardFocus 26 sptr #comfunc global IUIAutomationElement_get_CurrentIsKeyboardFocusable 27 sptr #comfunc global IUIAutomationElement_get_CurrentIsEnabled 28 sptr #comfunc global IUIAutomationElement_get_CurrentAutomationId 29 sptr #comfunc global IUIAutomationElement_get_CurrentClassName 30 sptr #comfunc global IUIAutomationElement_get_CurrentHelpText 31 sptr #comfunc global IUIAutomationElement_get_CurrentCulture 32 sptr #comfunc global IUIAutomationElement_get_CurrentIsControlElement 33 sptr #comfunc global IUIAutomationElement_get_CurrentIsContentElement 34 sptr #comfunc global IUIAutomationElement_get_CurrentIsPassword 35 sptr #comfunc global IUIAutomationElement_get_CurrentNativeWindowHandle 36 sptr #comfunc global IUIAutomationElement_get_CurrentItemType 37 sptr #comfunc global IUIAutomationElement_get_CurrentIsOffscreen 38 sptr #comfunc global IUIAutomationElement_get_CurrentOrientation 39 sptr #comfunc global IUIAutomationElement_get_CurrentFrameworkId 40 sptr #comfunc global IUIAutomationElement_get_CurrentIsRequiredForForm 41 sptr #comfunc global IUIAutomationElement_get_CurrentItemStatus 42 sptr #comfunc global IUIAutomationElement_get_CurrentBoundingRectangle 43 sptr #comfunc global IUIAutomationElement_get_CurrentLabeledBy 44 sptr #comfunc global IUIAutomationElement_get_CurrentAriaRole 45 sptr #comfunc global IUIAutomationElement_get_CurrentAriaProperties 46 sptr #comfunc global IUIAutomationElement_get_CurrentIsDataValidForForm 47 sptr #comfunc global IUIAutomationElement_get_CurrentControllerFor 48 sptr #comfunc global IUIAutomationElement_get_CurrentDescribedBy 49 sptr #comfunc global IUIAutomationElement_get_CurrentFlowsTo 50 sptr #comfunc global IUIAutomationElement_get_CurrentProviderDescription 51 sptr #comfunc global IUIAutomationElement_get_CachedProcessId 52 sptr #comfunc global IUIAutomationElement_get_CachedControlType 53 sptr #comfunc global IUIAutomationElement_get_CachedLocalizedControlType 54 sptr #comfunc global IUIAutomationElement_get_CachedName 55 sptr #comfunc global IUIAutomationElement_get_CachedAcceleratorKey 56 sptr #comfunc global IUIAutomationElement_get_CachedAccessKey 57 sptr #comfunc global IUIAutomationElement_get_CachedHasKeyboardFocus 58 sptr #comfunc global IUIAutomationElement_get_CachedIsKeyboardFocusable 59 sptr #comfunc global IUIAutomationElement_get_CachedIsEnabled 60 sptr #comfunc global IUIAutomationElement_get_CachedAutomationId 61 sptr #comfunc global IUIAutomationElement_get_CachedClassName 62 sptr #comfunc global IUIAutomationElement_get_CachedHelpText 63 sptr #comfunc global IUIAutomationElement_get_CachedCulture 64 sptr #comfunc global IUIAutomationElement_get_CachedIsControlElement 65 sptr #comfunc global IUIAutomationElement_get_CachedIsContentElement 66 sptr #comfunc global IUIAutomationElement_get_CachedIsPassword 67 sptr #comfunc global IUIAutomationElement_get_CachedNativeWindowHandle 68 sptr #comfunc global IUIAutomationElement_get_CachedItemType 69 sptr #comfunc global IUIAutomationElement_get_CachedIsOffscreen 70 sptr #comfunc global IUIAutomationElement_get_CachedOrientation 71 sptr #comfunc global IUIAutomationElement_get_CachedFrameworkId 72 sptr #comfunc global IUIAutomationElement_get_CachedIsRequiredForForm 73 sptr #comfunc global IUIAutomationElement_get_CachedItemStatus 74 sptr #comfunc global IUIAutomationElement_get_CachedBoundingRectangle 75 sptr #comfunc global IUIAutomationElement_get_CachedLabeledBy 76 sptr #comfunc global IUIAutomationElement_get_CachedAriaRole 77 sptr #comfunc global IUIAutomationElement_get_CachedAriaProperties 78 sptr #comfunc global IUIAutomationElement_get_CachedIsDataValidForForm 79 sptr #comfunc global IUIAutomationElement_get_CachedControllerFor 80 sptr #comfunc global IUIAutomationElement_get_CachedDescribedBy 81 sptr #comfunc global IUIAutomationElement_get_CachedFlowsTo 82 sptr #comfunc global IUIAutomationElement_get_CachedProviderDescription 83 sptr #comfunc global IUIAutomationElement_GetClickablePoint 84 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。