Cómo generar eventos desde un proveedor de Automatización de la interfaz de usuario
Este tema contiene código de ejemplo que muestra cómo un proveedor de Microsoft Automatización de la interfaz de usuario genera un evento.
En el código de ejemplo siguiente se muestra un método de una aplicación que implementa un botón personalizado. La aplicación llama al método cada vez que se invoca el botón personalizado. El método comprueba si algún cliente está escuchando eventos y, si es así, genera el evento UIA_Invoke_InvokedEventId para notificar a los clientes que se invocó el botón.
// 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);
}
}
Temas relacionados