Share via


AccNotifyTouchInteraction-Funktion (oleacc.h)

Ermöglicht es einer Hilfstechnologieanwendung (AT), das System zu benachrichtigen, dass es über eine Windows-Automatisierungs-API (z. B. Microsoft Benutzeroberflächenautomatisierung) als Ergebnis einer Fingereingabegeste des Benutzers mit der Benutzeroberfläche interagiert. Dadurch kann die Hilfstechnologie die Zielanwendung und das System benachrichtigen, dass der Benutzer mit der Toucheingabe interagiert.

Syntax

HRESULT AccNotifyTouchInteraction(
  [in] HWND  hwndApp,
  [in] HWND  hwndTarget,
  [in] POINT ptTarget
);

Parameter

[in] hwndApp

Ein Fenster, das zum AT-Prozess gehört, der AccNotifyTouchInteraction aufruft.

[in] hwndTarget

Das nächste Fenster des Automatisierungselements, auf das die AT ausgerichtet ist.

[in] ptTarget

Der Mittelpunkt des Automation-Elements (oder ein Punkt im umgebenden Rechteck des Elements).

Rückgabewert

Gibt bei Erfolg S_OK zurück.

Wenn dies nicht erfolgreich ist, wird ein COM-Standardfehlercode zurückgegeben.

Hinweise

Diese Funktion erfordert, dass der aufrufende Prozess über UIAccess oder höhere Berechtigungen verfügt. Wenn der Aufrufer nicht über die erforderlichen Berechtigungen verfügt, schlägt der Aufruf von AccNotifyTouchInteraction fehl und gibt E_ACCESSDENIED zurück. Weitere Informationen finden Sie unter Sicherheitsüberlegungen für Hilfstechnologien und /MANIFESTUAC (Einbetten von UAC-Informationen in Manifest).

Wenn ein AT Touchdaten verwendet (z. B. bei Verwendung der RegisterPointerInputTarget-Funktion ), ist der Shell und den Anwendungen, mit denen at über die Windows-Automatisierungs-API interagiert, nicht bewusst, dass der Benutzer per Toucheingabe interagiert. Damit das System touchbezogene Funktionen für den Benutzer verfügbar macht, muss das AT AccNotifyTouchInteraction verwenden, um das System zu benachrichtigen, dass die Interaktion als Reaktion auf die Toucheingabe des Benutzers ausgeführt wird.

Beispiele

In diesem Codebeispiel wird gezeigt, wie die AccNotifyTouchInteraction-Funktion aufgerufen wird.

// pTargetElement is the element being interacted with by the user, hwndApp 
// represents an HWND owned by the AT.
HRESULT PerformTouchBasedInteraction(IUIAutomationElement *pTargetElement, 
        HWND hwndApp)
{
    HRESULT hr = S_OK;

    // Set the focus to the element and then notify the system that the 
    // interaction is occurring due to a touch gesture. This would also apply 
    // to pattern-based interactions (such as calls to 
    // IUIAutomationInvokePattern::Invoke)
    hr = pTargetElement->SetFocus();
    if (SUCCEEDED(hr))
    {
        HWND hwndTarget;
        POINT ptTarget;
        BOOL fGotClickablePoint;

        // If the current element does not have a native window handle, an 
        // alternate method (such as walking up the parent chain) is required 
        // to get the nearest valid HWND.
        hr = pTargetElement->get_CurrentNativeWindowHandle((UIA_HWND *)(&hwndTarget));
        if (SUCCEEDED(hr))
        {
            // If the provider doesn't return a clickable point, an alternate 
            // method (such as using the bounding rectangle) will be required 
            // to get the center point of the current element.
            hr = pTargetElement->GetClickablePoint(&ptTarget, &fGotClickablePoint);
        }

        if (SUCCEEDED(hr) && fGotClickablePoint)
        {
            hr = AccNotifyTouchInteraction(hwndApp, hwndTarget, ptTarget);
        }
    }

    return hr;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleacc.h
Bibliothek Oleacc.lib
DLL Oleacc.dll

Weitere Informationen

AccSetRunningUtilityState

RegisterPointerInputTarget

UnregisterPointerInputTarget