Win32 API 日本語リファレンス
ホームUI.Accessibility › IUIAutomation2

IUIAutomation2

COM
IID34723aff-0c9d-49d0-9896-7ab52df8cd8a継承元IUIAutomation自前メソッド開始 vtbl58

公式ドキュメント

IUIAutomation インターフェイスを拡張し、Microsoft UI Automation の機能を制御するための追加メソッドを公開します。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 58 HRESULT get_AutoSetFocus(BOOL* autoSetFocus)

UI Automation のコントロールパターンメソッドの呼び出しが、対象要素に自動的にフォーカスを設定するかどうかを指定します。(Get)

autoSetFocusBOOL*outナビゲーション時に自動でフォーカスを設定するかどうかを受け取るポインタである。

解説(Remarks)

既定では、要素に対して操作を行うほとんどの UI Automation メソッド(IUIAutomationInvokePattern::InvokeIUIAutomationValuePattern::SetValue など)は、操作を実行する前に要素へフォーカスを設定します。ほとんどのアプリケーションでは、フォーカスを設定することでより一貫したユーザー体験が得られます。ドロップダウンメニューの自動化のように、フォーカスの設定が妨げになる状況では、AutoSetFocus を FALSE に設定して、UI Automation メソッドがフォーカスを設定しないようにできます。

vtbl 59 HRESULT put_AutoSetFocus(BOOL autoSetFocus)

UI Automation のコントロールパターンメソッドの呼び出しが、対象要素に自動的にフォーカスを設定するかどうかを指定します。(Put)

autoSetFocusBOOLinナビゲーション時に自動でフォーカスを設定するかどうかを指定する。

解説(Remarks)

既定では、要素に対して操作を行うほとんどの UI Automation メソッド(IUIAutomationInvokePattern::InvokeIUIAutomationValuePattern::SetValue など)は、操作を実行する前に要素へフォーカスを設定します。ほとんどのアプリケーションでは、フォーカスを設定することでより一貫したユーザー体験が得られます。ドロップダウンメニューの自動化のように、フォーカスの設定が妨げになる状況では、AutoSetFocus を FALSE に設定して、UI Automation メソッドがフォーカスを設定しないようにできます。

vtbl 60 HRESULT get_ConnectionTimeout(DWORD* timeout)

UI Automation が、automation element を求めるクライアント要求に対してプロバイダーが応答するのを待機する時間の長さを指定します。(Get)

timeoutDWORD*outタイムアウト期間の長さ(ミリ秒単位)。

解説(Remarks)

既定の接続タイムアウト値は 2 秒です。応答性の高い UI Automation プロバイダーは、通常、短時間で automation element をクライアントに返すことができます。

vtbl 61 HRESULT put_ConnectionTimeout(DWORD timeout)

UI Automation が、automation element を求めるクライアント要求に対してプロバイダーが応答するのを待機する時間の長さを指定します。(Put)

timeoutDWORDinタイムアウト期間の長さ(ミリ秒単位)。

解説(Remarks)

既定の接続タイムアウト値は 2 秒です。応答性の高い UI Automation プロバイダーは、通常、短時間で automation element をクライアントに返すことができます。

vtbl 62 HRESULT get_TransactionTimeout(DWORD* timeout)

UI Automation が、automation element に関する情報を求めるクライアント要求に対してプロバイダーが応答するのを待機する時間の長さを指定します。(Get)

timeoutDWORD*outタイムアウト期間の長さ(ミリ秒単位)。

解説(Remarks)

既定のトランザクションタイムアウト値は 20 秒です。一部の操作では、プロバイダーが数百個の要素を処理する必要があるため、情報をクライアントに返すまでに相当の時間がかかる場合があります。

vtbl 63 HRESULT put_TransactionTimeout(DWORD timeout)

UI Automation が、automation element に関する情報を求めるクライアント要求に対してプロバイダーが応答するのを待機する時間の長さを指定します。(Put)

timeoutDWORDinタイムアウト期間の長さ(ミリ秒単位)。

解説(Remarks)

既定のトランザクションタイムアウト値は 20 秒です。一部の操作では、プロバイダーが数百個の要素を処理する必要があるため、情報をクライアントに返すまでに相当の時間がかかる場合があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IUIAutomation2 "{34723AFF-0C9D-49D0-9896-7AB52DF8CD8A}"
#usecom global IUIAutomation2 IID_IUIAutomation2 "{}"
#comfunc global IUIAutomation2_get_AutoSetFocus        58 var
#comfunc global IUIAutomation2_put_AutoSetFocus        59 int
#comfunc global IUIAutomation2_get_ConnectionTimeout   60 var
#comfunc global IUIAutomation2_put_ConnectionTimeout   61 int
#comfunc global IUIAutomation2_get_TransactionTimeout  62 var
#comfunc global IUIAutomation2_put_TransactionTimeout  63 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。