Funzione AccNotifyTouchInteraction (oleacc.h)
Consente a un'applicazione di assistive technology (AT) di notificare al sistema che interagisce con l'interfaccia utente tramite un'API di Automazione di Windows (ad esempio Microsoft Automazione interfaccia utente) in seguito a un movimento di tocco dell'utente. Ciò consente alla tecnologia assistive di notificare all'applicazione di destinazione e al sistema che l'utente interagisce con il tocco.
Sintassi
HRESULT AccNotifyTouchInteraction(
[in] HWND hwndApp,
[in] HWND hwndTarget,
[in] POINT ptTarget
);
Parametri
[in] hwndApp
Finestra appartenente al processo AT che chiama AccNotifyTouchInteraction.
[in] hwndTarget
Finestra più vicina dell'elemento di automazione di destinazione di AT.
[in] ptTarget
Punto centrale dell'elemento di automazione (o un punto nel rettangolo di delimitazione dell'elemento).
Valore restituito
Se ha esito positivo, restituisce S_OK.
In caso contrario, restituisce un codice di errore COM standard.
Commenti
Questa funzione richiede che il processo chiamante disponga di privilegi UIAccess o superiori. Se il chiamante non dispone dei privilegi necessari, la chiamata a AccNotifyTouchInteraction ha esito negativo e restituisce E_ACCESSDENIED. Per altre informazioni, vedere Considerazioni sulla sicurezza per Assistive Technologies e /MANIFESTUAC (incorpora informazioni sull'account utente nel manifesto).
Quando un at utilizza dati di tocco, ad esempio quando si usa la funzione RegisterPointerInputTarget , la shell e le applicazioni con cui AT interagisce tramite l'API di automazione di Windows non sono consapevoli che l'utente interagisce tramite tocco. Affinché il sistema esponga funzionalità correlate al tocco all'utente, at deve usare AccNotifyTouchInteraction per notificare al sistema che sta eseguendo l'interazione in risposta all'input tocco dell'utente.
Esempio
Questo esempio di codice illustra come chiamare la funzione AccNotifyTouchInteraction .
// 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | oleacc.h |
Libreria | Oleacc.lib |
DLL | Oleacc.dll |