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 de modification dans une autre application.

Syntaxe

int GetWindowTextLengthW(
  [in] HWND hWnd
);

Paramètres

[in] hWnd

Type : HWND

Handle de la fenêtre ou du contrôle.

Valeur retournée

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 zéro.

L’échec de la fonction est indiqué par une valeur de retour de zéro et un résultat GetLastError différent de zéro.

Notes

Cette fonction n’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 en appelant 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 d’ANSI et d’Unicode, et est dû au système permettant l’existence possible de caractères codés sur deux octets (DBCS) dans le texte. Toutefois, la valeur de retour sera toujours au moins égale à 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 communs, qui utilisent Unicode. Cela 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_GETTEXT ou CB_GETLBTEXT , ou la fonction GetWindowText .

Notes

L’en-tête winuser.h définit GetWindowTextLength en tant qu’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. La combinaison 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.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure 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

Conceptuel

GetWindowText

LB_GETTEXT

Autres ressources

Référence

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows