Поделиться через


Как вызывать события из поставщика модель автоматизации пользовательского интерфейса

В этом разделе содержится пример кода, в котором показано, как поставщик microsoft модель автоматизации пользовательского интерфейса вызывает событие.

В следующем примере кода показан метод из приложения, реализующего пользовательскую кнопку. Приложение вызывает метод при каждом вызове пользовательской кнопки. Метод проверяет, прослушивают ли какие-либо клиенты события, и, если да, вызывает событие 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); 
    }
}

Основные понятия

Обзор событий автоматизации пользовательского интерфейса

Практические руководства для поставщиков модель автоматизации пользовательского интерфейса