GetWindowTextA-Funktion (winuser.h)

Kopiert den Text der Titelleiste des angegebenen Fensters (sofern vorhanden) in einen Puffer. Wenn das angegebene Fenster ein Steuerelement ist, wird der Text des Steuerelements kopiert. GetWindowText kann jedoch nicht den Text eines Steuerelements in einer anderen Anwendung abrufen.

Syntax

int GetWindowTextA(
  [in]  HWND  hWnd,
  [out] LPSTR lpString,
  [in]  int   nMaxCount
);

Parameter

[in] hWnd

Typ: HWND

Ein Handle für das Fenster oder Steuerelement, das den Text enthält.

[out] lpString

Typ: LPTSTR

Der Puffer, der den Text empfängt. Wenn die Zeichenfolge so lang oder länger als der Puffer ist, wird die Zeichenfolge abgeschnitten und mit einem NULL-Zeichen beendet.

[in] nMaxCount

Typ: int

Die maximale Anzahl von Zeichen, die in den Puffer kopiert werden sollen, einschließlich des NULL-Zeichens. Wenn der Text diesen Grenzwert überschreitet, wird er abgeschnitten.

Rückgabewert

Typ: int

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Länge der kopierten Zeichenfolge in Zeichen, ohne das beendende NULL-Zeichen. Wenn das Fenster keine Titelleiste oder keinen Text enthält, wenn die Titelleiste leer ist oder das Fenster oder Steuerelementhandle ungültig ist, ist der Rückgabewert 0. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Diese Funktion kann den Text eines Bearbeitungssteuerelements in einer anderen Anwendung nicht abrufen.

Hinweise

Wenn das Zielfenster im Besitz des aktuellen Prozesses ist, bewirkt GetWindowText , dass eine WM_GETTEXT Nachricht an das angegebene Fenster oder Steuerelement gesendet wird. Wenn das Zielfenster einem anderen Prozess gehört und über einen Untertitel verfügt, ruft GetWindowText das Fenster Untertitel Text ab. Wenn das Fenster keine Untertitel hat, ist der Rückgabewert eine NULL-Zeichenfolge. Dieses Verhalten ist beabsichtigt. Es ermöglicht Anwendungen, GetWindowText aufzurufen, ohne nicht zu reagieren, wenn der Prozess, der das Zielfenster besitzt, nicht reagiert. Wenn das Zielfenster jedoch nicht reagiert und zur aufrufenden Anwendung gehört, bewirkt GetWindowText , dass die aufrufende Anwendung nicht mehr reagiert.

Um den Text eines Steuerelements in einem anderen Prozess abzurufen, senden Sie direkt eine WM_GETTEXT Nachricht, anstatt GetWindowText aufzurufen.

Beispiele

Der folgende Beispielcode veranschaulicht einen Aufruf von GetWindowTextA.

hwndCombo = GetDlgItem(hwndDlg, IDD_COMBO); 
cTxtLen = GetWindowTextLength(hwndCombo); 

// Allocate memory for the string and copy 
// the string into the memory. 

pszMem = (PSTR) VirtualAlloc((LPVOID) NULL, 
    (DWORD) (cTxtLen + 1), MEM_COMMIT, 
    PAGE_READWRITE); 
GetWindowText(hwndCombo, pszMem, 
    cTxtLen + 1); 

Informationen zum Anzeigen dieses Beispiels im Kontext finden Sie unter Senden einer Nachricht.

Hinweis

Der winuser.h-Header definiert GetWindowText 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 nicht codierungsneutralem Code 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
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 (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-window-l1-1-4 (eingeführt in Windows 10, Version 10.0.14393)

Siehe auch

Konzept

GetWindowTextLength

Referenz

SetWindowText

WM_GETTEXT

Windows