Condividi tramite


Come generare eventi da un provider di Automazione interfaccia utente

Questo argomento contiene codice di esempio che illustra come un provider di Automazione interfaccia utente Microsoft genera un evento.

Il codice di esempio seguente mostra un metodo da un'applicazione che implementa un pulsante personalizzato. L'applicazione chiama il metodo ogni volta che viene richiamato il pulsante personalizzato. Il metodo verifica se i client sono in ascolto di eventi e, in tal caso, genera l'evento UIA_Invoke_InvokedEventId per notificare ai client che il pulsante è stato richiamato.

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

Informazioni concettuali

Cenni preliminari sugli eventi di automazione interfaccia utente

Argomenti di procedura per i provider di Automazione interfaccia utente