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
Referenz-