IUIAutomation::AddFocusChangedEventHandler-Methode (uiautomationclient.h)

Registriert eine Methode, die fokussveränderte Ereignisse verarbeitet.

Hinweis Bevor Sie einen Ereignishandler implementieren, sollten Sie mit den Threadingproblemen vertraut sein, die unter Grundlegendes zu Threadingproblemen beschrieben werden.
 

Syntax

HRESULT AddFocusChangedEventHandler(
  [in] IUIAutomationCacheRequest             *cacheRequest,
  [in] IUIAutomationFocusChangedEventHandler *handler
);

Parameter

[in] cacheRequest

Typ: IUIAutomationCacheRequest*

Ein Zeiger auf eine Cacheanforderung oder NULL , wenn keine Zwischenspeicherung gewünscht ist.

[in] handler

Typ: IUIAutomationFocusChangedEventHandler*

Ein Zeiger auf das -Objekt, das das -Ereignis behandelt.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Ereignisse, die den Fokus geändert haben, sind systemweit; Sie können keinen engeren Bereich festlegen.

Ein Benutzeroberflächenautomatisierung-Client sollte nicht mehrere Threads verwenden, um Ereignishandler hinzuzufügen oder zu entfernen. Unerwartetes Verhalten kann auftreten, wenn ein Ereignishandler hinzugefügt oder entfernt wird, während ein anderer im selben Clientprozess hinzugefügt oder entfernt wird.

Beispiele

Die folgende Beispielfunktion erstellt ein Objekt, das IUIAutomationFocusChangedEventHandler implementiert und das Ereignis durch Hinzufügen des Handlers abonniert.

HRESULT AddFocusHandler(IUIAutomation* pAutomation)
{ 
    // CFocusHandler is a class that implements IUIAutomationFocusChangedEventHandler. 
    CFocusHandler* pFocusHandler = new CFocusHandler();
    if (!pFocusHandler)
    {
        return E_OUTOFMEMORY;
    }
    IUIAutomationFocusChangedEventHandler* pHandler;
    pFocusHandler->QueryInterface(IID_IUIAutomationFocusChangedEventHandler, (void**)&pHandler);
    HRESULT hr = pAutomation->AddFocusChangedEventHandler(NULL, pHandler);
    pFocusHandler->Release();
    return hr;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista, Windows XP mit SP3 und Plattformupdate für Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008, Windows Server 2003 mit SP2 und Plattformupdate für Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile uiautomationclient.h (include UIAutomation.h)

Weitere Informationen

Zwischenspeichern von Benutzeroberflächenautomatisierung Eigenschaften und Steuerelementmustern

Konzept

IUIAutomation

IUIAutomationFocusChangedEventHandler

Referenz

RemoveAllEventHandlers

RemoveFocusChangedEventHandler

Abonnieren von Benutzeroberflächenautomatisierung Ereignissen

Grundlegendes zu Threadingproblemen