Partager via


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

CB_GETLBTEXT

conceptuelle

GetWindowText

LB_GETTEXT

autres ressources

de référence

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows