Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[Certaines informations concernent le produit préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.]
Inscrit la fenêtre spécifiée ou le thread actuel, en tant que pavé tactile compatible avec le système.
Syntaxe
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableWindow(
_In_ HWND hWnd,
_In_ BOOL fEnable);
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableThread(
_In_ BOOL fEnable);
Paramètres
RegisterTouchpadCapableWindow
- hWnd
-
Handle vers la fenêtre à inscrire ou annuler l’inscription en tant que pavé tactile.
- fEnable
-
TRUE pour inscrire la fenêtre en tant que pavé tactile ; FALSE pour annuler l’inscription.
RegisterTouchpadCapableThread
- fEnable
-
TRUE pour inscrire le thread actuel en tant que pavé tactile ; FALSE pour annuler l’inscription.
Valeur renvoyée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError. L’inscription peut échouer si le système ne prend pas en charge l’inscription en tant que pavé tactile, ou si vous essayez de désinscrire le thread et que le thread n’est pas actuellement inscrit comme capable.
Remarques
En s’inscrivant en tant que pavé tactile, les fonctionnalités système suivantes changeront :
- GetPointerDevices inclut désormais des pavés tactiles dans sa liste d’appareils.
- GetCurrentInputMessageSource pour les messages de souris d’origine tactile retournent IMDT_TOUCHPAD en tant que type d’appareil au lieu de IMDT_MOUSE.
- RegisterPointerDeviceNotifications génère des messages pour les pavés tactiles (à la fois l’arrivée/le départ de l’appareil ainsi que les contacts entrants/hors plage).
- La fenêtre (ou toutes les fenêtres du thread) reçoit WM_POINTER messages pour les mouvements à deux doigts du pavé tactile (panoramiques et zooms).
- Si ces messages sont transférés à DefWindowProc, ils seront convertis en messages de roulette de souris, tout comme le système le fait aujourd’hui pour les fenêtres/threads non compatibles avec pavé tactile.
RegisterTouchpadCapableWindow : l’inscription d’une fenêtre est « dernière victoire de l’appelant » : la fonctionnalité tactile de la fenêtre est activée ou désactivée en fonction de l’appel le plus récent à l’API. L’attente est que le propriétaire de la fenêtre s’inscrit comme capable pendant l’initialisation : les composants ne doivent pas inscrire une fenêtre comme capable si elles ne peuvent pas contrôler la façon dont elle gère les messages WM_POINTER qu’elle recevra par conséquent.
RegisterTouchpadCapableThread : le système effectue le suivi du nombre de fois où le thread a été inscrit en tant que capable. Par conséquent, si le thread est inscrit comme capable, il doit être désinscrit lorsqu’il n’est plus nécessaire. Un thread peut utiliser RegisterTouchpadCapableThread pour s’inscrire temporairement comme capable d’appeler des API qui ont un comportement dépendant, puis annuler l’inscription afin que l’état d’origine du thread soit conservé.
Étant donné que GetPointerDevices et GetCurrentInputMessageSource ne prennent pas de fenêtre dans leurs paramètres, leur comportement change uniquement lorsque l’ensemble du thread est compatible avec le pavé tactile, afin d’éviter les problèmes de compatibilité lors de l’adhésion dans une seule fenêtre sur un thread sans connaissance.
Important
Le comportement de certains paramètres du pavé tactile du système est implémenté dans les API contexte d’interaction pour effectuer une reconnaissance des mouvements sur l’entrée du pointeur. Celles-ci incluent si le mouvement panoramique et/ou le zoom ont été explicitement désactivés et la direction du mouvement de contenu pour le mouvement panoramique. Les futures mises à jour système peuvent également introduire davantage de fonctionnalités. Il est donc vivement recommandé d’utiliser les API de contexte d’interaction pour la reconnaissance des mouvements lors de l’inscription en tant que pavé tactile et de la réception de l’entrée de pointeur directement, afin que l’utilisateur rencontre un comportement uniforme dans toutes les applications. Si vous n’utilisez pas ces API, il est important d’interroger les paramètres du pavé tactile de l’utilisateur et de respecter ceux liés à la reconnaissance des mouvements, le cas échéant à l’expérience utilisateur de l’application. Toutefois, l’introduction de nouveaux paramètres système nécessite des mises à jour d’application : si vous utilisez les API Contexte d’interaction, ces nouveaux paramètres fonctionnent automatiquement comme prévu.
Plus précisément, le nouveau ProcessPointerFramesInteractionContext2 ou BufferPointerPacketsInteractionContext2 doit être utilisé, car ils fournissent la charge utile de pointeur complète vers le contexte d’interaction, plutôt que simplement le POINTER_INFO. Les améliorations futures apportées à la reconnaissance des mouvements peuvent prendre en compte ces informations. La classe WinRT PhysicalGestureRecognizer utilise ces API en interne.
Exigences
| Prérequis | Valeur |
|---|---|
| Client minimum requis | Windows 11 [applications de bureau uniquement] |
| Serveur minimum pris en charge | Aucun pris en charge |
| Header | Winuser.h (include Windows.h) |
| Bibliothèque | User32.lib |
| DLL | User32.dll (ordinal 2689 for RegisterTouchpadCapableWindow, ordinal 2688 for RegisterTouchpadCapableThread) |