UI オートメーション プロバイダーからイベントを発生させる方法
このトピックには、Microsoft UI オートメーション プロバイダーがイベントを発生させる方法を示すコード例が含まれています。
次のコード例は、カスタム ボタンを実装するアプリケーションのメソッドを示しています。 アプリケーションは、カスタム ボタンが呼び出されるたびに メソッドを呼び出します。 メソッドは、クライアントがイベントをリッスンしているかどうかを確認し、その場合は UIA_Invoke_InvokedEventId イベントを発生させ、ボタンが呼び出されたことをクライアントに通知します。
// Responds to a button click. The source of the click could
// be the mouse, the keyboard, or a client's call to
// IUIAutomationInvokePattern::Invoke.
void CustomButton::InvokeButton(HWND hwnd)
{
// TODO: Perform program actions invoked by the control.
// Check whether any clients are listening for UI Automation
// events.
if (UiaClientsAreListening())
{
// Raise an Invoked event. GetUIAutomationProvider is an
// application-defined method that returns a pointer to
// the application's IRawElementProviderSimple interface.
UiaRaiseAutomationEvent(
GetUIAutomationProvider(hwnd), UIA_Invoke_InvokedEventId);
}
}
関連トピック