IUIAutomationElement3
COM公式ドキュメント
IUIAutomationElement2 インターフェースを拡張します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
対象要素上でコンテキストメニューをプログラムから呼び出します。(IUIAutomationElement3.ShowContextMenu)
戻り値
解説(Remarks)
コンテキストメニューを呼び出せなかった場合、このメソッドはエラーコードを返します。呼び出し対象の要素に直接利用できるコンテキストメニューが存在しない場合、このメソッドを呼び出すと、現在の項目の Microsoft UI Automation 上の親要素でコンテキストメニューが呼び出されることがあります。
コンテキストメニュー自体は、呼び出しおよび消去の際に menu opened / closed イベントを発生させます。
要素の現在の周辺 UI インジケーターを取得します。
| retVal | BOOL* | out | 要素が周辺的(主要なフォーカスを取らない補助的 UI)であるかどうかを受け取るポインタである。 |
解説(Remarks)
IsPeripheral プロパティが TRUE の場合、要素が現在キーボードで操作可能であっても、クライアントアプリケーションはその要素がフォーカスを取得したと想定することはできません。
このプロパティは次のコントロール型に関連します:
- UIA_GroupControlTypeId
- UIA_MenuControlTypeId
- UIA_PaneControlTypeId
- UIA_ToolBarControlTypeId
- UIA_ToolTipControlTypeId
- UIA_WindowControlTypeId
- UIA_CustomControlTypeId
- WindowOpened (UIA_Window_WindowOpenedEventId)
- MenuOpened (UIA_MenuOpenedEventId)
- ToolTipOpened (UIA_ToolTipOpenedEventId)
要素のキャッシュされた周辺 UI インジケーターを取得します。
| retVal | BOOL* | out | キャッシュされた、要素が周辺的かどうかを受け取るポインタである。 |
解説(Remarks)
IsPeripheral プロパティが TRUE の場合、要素が現在キーボードで操作可能であっても、クライアントアプリケーションはその要素がフォーカスを取得したと想定することはできません。
このプロパティは次のコントロール型に関連します:
- UIA_GroupControlTypeId
- UIA_MenuControlTypeId
- UIA_PaneControlTypeId
- UIA_ToolBarControlTypeId
- UIA_ToolTipControlTypeId
- UIA_WindowControlTypeId
- UIA_CustomControlTypeId
- WindowOpened (UIA_Window_WindowOpenedEventId)
- MenuOpened (UIA_MenuOpenedEventId)
- ToolTipOpened (UIA_ToolTipOpenedEventId)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAutomationElement3 "{8471DF34-AEE0-4A01-A7DE-7DB9AF12C296}" #usecom global IUIAutomationElement3 IID_IUIAutomationElement3 "{}" #comfunc global IUIAutomationElement3_ShowContextMenu 91 #comfunc global IUIAutomationElement3_get_CurrentIsPeripheral 92 var #comfunc global IUIAutomationElement3_get_CachedIsPeripheral 93 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IUIAutomationElement3 "{8471DF34-AEE0-4A01-A7DE-7DB9AF12C296}" #usecom global IUIAutomationElement3 IID_IUIAutomationElement3 "{}" #comfunc global IUIAutomationElement3_ShowContextMenu 91 #comfunc global IUIAutomationElement3_get_CurrentIsPeripheral 92 sptr #comfunc global IUIAutomationElement3_get_CachedIsPeripheral 93 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。