Freigeben über


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 den Text eines Steuerelements in einer anderen Anwendung nicht 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 Nullzeichens. 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, nicht einschließlich des endenden NULL-Zeichens in Zeichen. Wenn das Fenster keine Titelleiste oder keinen Text enthält, wenn die Titelleiste leer ist oder das Fenster- oder Steuerpunkt ungültig ist, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

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

Bemerkungen

Wenn das Zielfenster dem aktuellen Prozess gehört, bewirkt GetWindowText-, dass eine WM_GETTEXT Nachricht an das angegebene Fenster oder Steuerelement gesendet wird. Wenn das Zielfenster einem anderen Prozess gehört und eine Beschriftung aufweist, ruft GetWindowText den Fensterbeschriftungstext ab. Wenn das Fenster keine Beschriftung aufweist, ist der Rückgabewert eine NULL-Zeichenfolge. Dieses Verhalten ist beabsichtigt. Es ermöglicht Anwendungen, GetWindowText- aufzurufen, ohne zu reagieren, wenn der Prozess, der das Zielfenster besitzt, nicht reagiert. Wenn das Zielfenster jedoch nicht reagiert und zur aufrufenden Anwendung gehört, GetWindowText- bewirkt, dass die aufrufende Anwendung nicht mehr reagiert.

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

Beispiele

Im folgenden Beispielcode wird ein Aufruf von GetWindowTextA-veranschaulicht.

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 zu diesem Beispiel im Kontext finden Sie unter Senden einer Nachricht.

Anmerkung

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 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-4 (eingeführt in Windows 10, Version 10.0.14393)

Siehe auch

Konzeptionelle

GetWindowTextLength

Referenz-

SetWindowText-

WM_GETTEXT

Windows