Udostępnij za pośrednictwem


Jak zgłaszać zdarzenia od dostawcy automatyzacji interfejsu użytkownika

Ten temat zawiera przykładowy kod, który pokazuje, jak dostawca automatyzacji interfejsu użytkownika firmy Microsoft zgłasza zdarzenie.

Poniższy przykładowy kod przedstawia metodę z aplikacji, która implementuje przycisk niestandardowy. Aplikacja wywołuje metodę za każdym razem, gdy jest wywoływany przycisk niestandardowy. Metoda sprawdza, czy klienci nasłuchują zdarzeń, a jeśli tak, zgłasza zdarzenie UIA_Invoke_InvokedEventId w celu powiadomienia klientów o wywołaniu przycisku.

// 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); 
    }
}

koncepcyjny

Omówienie zdarzeń automatyzacji interfejsu użytkownika

How-To Tematy dotyczące dostawców automatyzacji interfejsu użytkownika