Abrufen eines IAccessible-Objekts

Microsoft Active Accessibility bietet Funktionen wie AccessibleObjectFromWindow und AccessibleObjectFromPoint , mit denen Clients barrierefreie Objekte abrufen können. Diese Funktionen geben entweder einen IDispatch - oder IAccessible-Schnittstellenzeiger zurück, über den Clients Informationen über das barrierefreie Objekt erhalten.

Wenn ein Client AccessibleObjectFromWindow oder eine der anderen AccessibleObjectFromX-Funktionen aufruft, die eine Schnittstelle zu einem Objekt abrufen, sendet Microsoft Active Accessibility die WM_GETOBJECT Fenstermeldung an die entsprechende Fensterprozedur in der entsprechenden Anwendung. Um Informationen für Clients bereitzustellen, müssen Server auf die WM_GETOBJECT-Nachricht reagieren.

Um bestimmte Informationen zu einem UI-Element zu sammeln, müssen Clients zunächst eine IAccessible-Schnittstelle für das Element abrufen. Um das IAccessible-Objekt eines Elements abzurufen, können Clients eine der folgenden Funktionen verwenden:

So rufen Sie einen IAccessible-Schnittstellenzeiger ab

  1. Der Client ruft eine der AccessibleObjectFromX-Funktionen auf.

  2. Oleacc.dll sendet eine WM_GETOBJECT-Nachricht an den Server.

  3. Der Server bestimmt, welches UI-Element der Anforderung entspricht.

  4. Der Server gibt entweder null zurück, um einen Oleacc.dll Proxy anzufordern.

    oder

    Gibt ein IAccessible-Objekt (native Implementierung) zurück. Gehen Sie dazu wie folgt vor:

  5. Oleacc.dll untersucht den Rückgabewert von WM_GETOBJECT.

    Wenn der Wert null ist, erstellt Oleacc.dll ein Proxyobjekt und gibt es an den Client zurück.

    oder

    Wenn es ungleich null ist, ruft Oleacc.dll ObjectFromLresult auf, um den nativen IAccessible-Objektzeiger aufzuheben, und gibt ihn an den Client zurück.