Share via


RegisterPointerInputTarget, fonction (winuser.h)

Permet à l’appelant d’inscrire une fenêtre cible vers laquelle toutes les entrées de pointeur du type spécifié sont redirigées.

Syntaxe

BOOL RegisterPointerInputTarget(
  [in] HWND               hwnd,
  [in] POINTER_INPUT_TYPE pointerType
);

Paramètres

[in] hwnd

Fenêtre à inscrire en tant que cible de redirection globale.

La redirection peut entraîner la perte de l’activation (focus) de la fenêtre de premier plan. Pour éviter cela, vérifiez que la fenêtre est une fenêtre de message uniquement ou que le style WS_EX_NOACTIVATE est défini.

[in] pointerType

Type d’entrée de pointeur à rediriger vers la fenêtre spécifiée. Il s’agit de toute valeur valide et prise en charge de l’énumération POINTER_INPUT_TYPE . Notez que le type de PT_POINTER générique et le type PT_MOUSE ne sont pas valides dans ce paramètre.

Valeur retourné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étaillées sur l’erreur, appelez GetLastError.

Remarques

Une application disposant du privilège d’accès de l’interface utilisateur peut utiliser cette fonction pour inscrire sa propre fenêtre afin de recevoir toutes les entrées du type d’entrée de pointeur spécifié. Chaque bureau n’autorise qu’une seule fenêtre cible de redirection globale pour chaque type d’entrée de pointeur à un moment donné. La première fenêtre à inscrire reste en vigueur jusqu’à ce que la fenêtre soit désinscrire ou détruite, auquel cas le rôle est disponible pour l’appelant qualifié suivant.

Pendant que l’inscription est en vigueur, toutes les entrées du type de pointeur spécifié, qu’elles proviennent d’un périphérique d’entrée ou qu’elles soient injectées par une application, sont redirigées vers la fenêtre inscrite. Toutefois, lorsque le processus propriétaire de la fenêtre inscrite injecte une entrée du type de pointeur spécifié, ce type injecté n’est pas redirigé, mais est traité normalement.

Une application qui souhaite inscrire la même fenêtre qu’une cible de redirection globale pour plusieurs types d’entrée de pointeur doit appeler la fonction RegisterPointerInputTarget plusieurs fois, une fois pour chaque type d’entrée de pointeur intéressant.

Si le thread appelant n’a pas le privilège d’accès à l’interface utilisateur, cette fonction échoue avec la dernière erreur définie sur ERROR_ACCESS_DENIED.

Si le type d’entrée de pointeur spécifié n’est pas valide, cette fonction échoue avec la dernière erreur définie sur ERROR_INVALID_PARAMETER.

Si le thread appelant ne possède pas la fenêtre spécifiée, cette fonction échoue avec la dernière erreur définie sur ERROR_ACCESS_DENIED.

Si le bureau de la fenêtre spécifiée a déjà une cible de redirection globale inscrite pour le type d’entrée de pointeur spécifié, cette fonction échoue avec la dernière erreur définie sur ERROR_ACCESS_DENIED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll