GetWindowTextLengthA, 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 GetWindowTextLengthA(
[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
Condition requise | Valeur |
---|---|
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
Conceptuel
Autres ressources
Référence