Comment déclencher des événements à partir d’un fournisseur UI Automation

Cette rubrique contient un exemple de code qui montre comment un fournisseur UI Automation Microsoft déclenche un événement.

L’exemple de code suivant montre une méthode d’une application qui implémente un bouton personnalisé. L’application appelle la méthode chaque fois que le bouton personnalisé est appelé. La méthode vérifie si des clients écoutent des événements et, le cas échéant, déclenche l’événement UIA _ Invoke _ InvokedEventId pour informer les clients que le bouton a été appelé.

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

Conceptuel

Vue d'ensemble des événements UI Automation

Rubriques de procédures pour les fournisseurs UI Automation