GetWindowTextLengthA-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 Länge des Texts eines Bearbeitungssteuerelements in einer anderen Anwendung abrufen.
Syntax
int GetWindowTextLengthA(
[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 Null und ein GetLastError Ergebnis angegeben, das ungleich Null ist.
Anmerkung
Diese Funktion löscht die neuesten Fehlerinformationen nicht. Um Erfolg oder Fehler zu ermitteln, löschen Sie die neuesten Fehlerinformationen, indem Sie SetLastError- mit 0 aufrufen, und rufen Sie dann GetLastError-auf.
Bemerkungen
Wenn das Zielfenster dem aktuellen Prozess gehört, 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 geschieht mit bestimmten Mischungen von ANSI und Unicode und ist auf das System zurückzuführen, das die mögliche Existenz von DBCS-Zeichen (Double-Byte Character Set) innerhalb des Texts ermöglicht. Der Rückgabewert ist jedoch immer mindestens so groß wie die tatsächliche Länge des Texts. Sie können sie daher immer verwenden, um die Pufferzuordnung zu leiten. Dieses Verhalten kann auftreten, wenn eine Anwendung sowohl ANSI-Funktionen als auch allgemeine Dialogfelder verwendet, die Unicode verwenden. Es 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_GETTEXToder CB_GETLBTEXT Nachrichten oder die GetWindowText--Funktion.
Anmerkung
Der winuser.h-Header definiert GetWindowTextLength als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winuser.h (enthalten Windows.h) |
Library | User32.lib |
DLL- | User32.dll |
API-Satz | ext-ms-win-ntuser-window-l1-1-1 (eingeführt in Windows 8.1) |
Siehe auch
Konzeptionelle
andere Ressourcen
Referenz-