Freigeben über


GetWindowTextLengthW-Funktion (winuser.h)

Ruft die Länge des Titelleistentexts des angegebenen Fensters in Zeichen ab (wenn das Fenster über eine Titelleiste verfügt). Wenn das angegebene Fenster ein Steuerelement ist, ruft die Funktion die Länge des Texts innerhalb des Steuerelements ab. GetWindowTextLength kann jedoch nicht die Textlänge eines Bearbeitungssteuerelements in einer anderen Anwendung abrufen.

Syntax

int GetWindowTextLengthW(
  [in] HWND hWnd
);

Parameter

[in] hWnd

Typ: HWND

Ein Handle für das Fenster oder Steuerelement.

Rückgabewert

Typ: int

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Länge des Texts in Zeichen. Unter bestimmten Bedingungen kann dieser Wert größer als die Länge des Texts sein (siehe Hinweise).

Wenn das Fenster keinen Text enthält, ist der Rückgabewert null.

Funktionsfehler werden durch einen Rückgabewert von 0 (null) und ein GetLastError-Ergebnis angezeigt, das ungleich null ist.

Hinweis

Diese Funktion löscht nicht die neuesten Fehlerinformationen. Um Erfolg oder Fehler zu ermitteln, löschen Sie die neuesten Fehlerinformationen, indem Sie SetLastError mit 0 aufrufen, und rufen Sie dann GetLastError auf.

Hinweise

Wenn sich das Zielfenster im Besitz des aktuellen Prozesses befindet, bewirkt GetWindowTextLength , dass eine WM_GETTEXTLENGTH Nachricht an das angegebene Fenster oder Steuerelement gesendet wird.

Unter bestimmten Bedingungen gibt die GetWindowTextLength-Funktion möglicherweise einen Wert zurück, der größer als die tatsächliche Länge des Texts ist. Dies tritt bei bestimmten Mischungen von ANSI und Unicode auf und ist darauf zurückzuführen, dass das System das mögliche Vorhandensein von DBCS-Zeichen (Double-Byte Character Set) im Text ermöglicht. Der Rückgabewert ist jedoch immer mindestens so groß wie die tatsächliche Länge des Texts. Sie können sie also immer verwenden, um die Pufferzuordnung zu steuern. Dieses Verhalten kann auftreten, wenn eine Anwendung sowohl ANSI-Funktionen als auch allgemeine Dialoge verwendet, die Unicode verwenden. Dies kann auch auftreten, wenn eine Anwendung die ANSI-Version von GetWindowTextLength mit einem Fenster verwendet, dessen Fensterprozedur Unicode ist, oder die Unicode-Version von GetWindowTextLength mit einem Fenster, dessen Fensterprozedur ANSI ist. Weitere Informationen zu ANSI- und ANSI-Funktionen finden Sie unter Konventionen für Funktionsprototypen.

Um die genaue Länge des Texts abzurufen, verwenden Sie die WM_GETTEXT, LB_GETTEXT oder CB_GETLBTEXT Nachrichten oder die GetWindowText-Funktion .

Hinweis

Der winuser.h-Header definiert GetWindowTextLength als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-window-l1-1-1 (eingeführt in Windows 8.1)

Weitere Informationen

CB_GETLBTEXT

Konzept

GetWindowText

LB_GETTEXT

Andere Ressourcen

Referenz

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows