GetWindowTextLengthW, fonction (winuser.h)
Récupère la longueur, en caractères, du texte de la barre de titre de la fenêtre spécifiée (si la fenêtre a une barre de titre). Si la fenêtre spécifiée est un contrôle, la fonction récupère la longueur du texte dans le contrôle. Toutefois, GetWindowTextLength ne peut pas récupérer la longueur du texte d’un contrôle d’édition dans une autre application.
Syntaxe
int GetWindowTextLengthW(
[in] HWND hWnd
);
Paramètres
[in] hWnd
Type : HWND
Handle vers la fenêtre ou le contrôle.
Valeur de retour
Type : int
Si la fonction réussit, la valeur de retour est la longueur, en caractères, du texte. Dans certaines conditions, cette valeur peut être supérieure à la longueur du texte (voir Remarques).
Si la fenêtre n’a pas de texte, la valeur de retour est égale à zéro.
L’échec de la fonction est indiqué par une valeur de retour de zéro et un résultat GetLastError qui n’est pas égal à zéro.
Note
Cette fonction ne efface pas les informations d’erreur les plus récentes. Pour déterminer la réussite ou l’échec, effacez les informations d’erreur les plus récentes en appelant SetLastError avec 0, puis appelez GetLastError.
Remarques
Si la fenêtre cible appartient au processus actuel, GetWindowTextLength provoque l’envoi d’un message WM_GETTEXTLENGTH à la fenêtre ou au contrôle spécifié.
Dans certaines conditions, la fonction GetWindowTextLength peut retourner une valeur supérieure à la longueur réelle du texte. Cela se produit avec certains mélanges de caractères ANSI et Unicode, et est dû au système permettant l’existence possible de caractères de jeu de caractères double octet (DBCS) dans le texte. Toutefois, la valeur de retour sera toujours aussi grande que la longueur réelle du texte ; vous pouvez donc toujours l’utiliser pour guider l’allocation de mémoire tampon. Ce comportement peut se produire lorsqu’une application utilise à la fois des fonctions ANSI et des dialogues courants, qui utilisent Unicode. Elle peut également se produire lorsqu’une application utilise la version ANSI de GetWindowTextLength avec une fenêtre dont la procédure de fenêtre est Unicode ou la version Unicode de GetWindowTextLength avec une fenêtre dont la procédure de fenêtre est ANSI. Pour plus d’informations sur les fonctions ANSI et ANSI, consultez Conventions pour les prototypes de fonction.
Pour obtenir la longueur exacte du texte, utilisez les messages WM_GETTEXT, LB_GETTEXTou CB_GETLBTEXT, ou la fonction GetWindowText.
Note
L’en-tête winuser.h définit GetWindowTextLength comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winuser.h (include Windows.h) |
bibliothèque | User32.lib |
DLL | User32.dll |
ensemble d’API | ext-ms-win-ntuser-window-l1-1-1 (introduit dans Windows 8.1) |
Voir aussi
conceptuelle
autres ressources
de référence