GetWindowLongA-Funktion (winuser.h)

Ruft Informationen zum angegebenen Fenster ab. Die Funktion ruft auch den 32-Bit-Wert (DWORD) am angegebenen Offset in den zusätzlichen Fensterspeicher ab.

Hinweis Wenn Sie einen Zeiger oder ein Handle abrufen, wurde diese Funktion durch die GetWindowLongPtr-Funktion ersetzt. (Zeiger und Handles sind 32 Bits unter 32-Bit-Windows und 64 Bit unter 64-Bit-Windows.) Verwenden Sie GetWindowLongPtr, um Code zu schreiben, der mit 32-Bit- und 64-Bit-Versionen von Windows kompatibel ist.

 

Syntax

LONG GetWindowLongA(
  [in] HWND hWnd,
  [in] int  nIndex
);

Parameter

[in] hWnd

Typ: HWND

Ein Handle für das Fenster und indirekt die Klasse, zu der das Fenster gehört.

[in] nIndex

Typ: int

Der nullbasierte Offset auf den abzurufenden Wert. Gültige Werte liegen im Bereich Null durch die Anzahl der Bytes des zusätzlichen Fensterspeichers, minus vier; Wenn Sie beispielsweise 12 oder mehr Bytes zusätzlichen Arbeitsspeicher angegeben haben, wäre der Wert 8 ein Index für die dritte 32-Bit-Ganzzahl. Geben Sie einen der folgenden Werte an, um einen anderen Wert abzurufen.

Wert Bedeutung
GWL_EXSTYLE
-20
Ruft die erweiterten Fensterstile ab.
GWL_HINSTANCE
–6
Ruft ein Handle für die Anwendung instance ab.
GWL_HWNDPARENT
-8
Ruft ggf. ein Handle zum übergeordneten Fenster ab.
GWL_ID
-12
Ruft den Bezeichner des Fensters ab.
GWL_STYLE
-16
Ruft die Fensterstile ab.
GWL_USERDATA
-21
Ruft die dem Fenster zugeordneten Benutzerdaten ab. Diese Daten sind für die Verwendung durch die Anwendung vorgesehen, die das Fenster erstellt hat. Der Wert ist anfangs 0.
GWL_WNDPROC
–4
Ruft die Adresse der Fensterprozedur oder ein Handle ab, das die Adresse der Fensterprozedur darstellt. Sie müssen die CallWindowProc-Funktion verwenden, um die Fensterprozedur aufzurufen.
 

Die folgenden Werte sind auch verfügbar, wenn der hWnd-Parameter ein Dialogfeld identifiziert.

Wert Bedeutung
DWL_DLGPROC
DWLP_MSGRESULT + sizeof(LRESULT)
Ruft die Adresse der Dialogfeldprozedur oder ein Handle ab, das die Adresse der Dialogfeldprozedur darstellt. Sie müssen die CallWindowProc-Funktion verwenden, um die Dialogfeldprozedur aufzurufen.
DWL_MSGRESULT
0
Ruft den Rückgabewert einer Nachricht ab, die in der Dialogfeldprozedur verarbeitet wird.
DWL_USER
DWLP_DLGPROC + sizeof(DLGPROC)
Ruft zusätzliche private Informationen für die Anwendung ab, z. B. Handles oder Zeiger.

Rückgabewert

Typ: LONG

Wenn die Funktion erfolgreich ist, ist der Rückgabewert der angeforderte Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Wenn SetWindowLong zuvor nicht aufgerufen wurde, gibt GetWindowLong null für Werte im zusätzlichen Fenster oder Klassenspeicher zurück.

Hinweise

Reservieren Sie zusätzlichen Fensterspeicher, indem Sie einen nonzero-Wert im cbWndExtra-Member der WNDCLASSEX-Struktur angeben, die mit der RegisterClassEx-Funktion verwendet wird.

Beispiele

Ein Beispiel finden Sie unter Erstellen, Aufzählen und Größenanpassung untergeordneter Windows-Fenster.

Hinweis

Der winuser.h-Header definiert GetWindowLong 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-windowclass-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

CallWindowProc

Konzept

GetWindowLongPtr

Referenz

RegisterClassEx

SetParent

SetWindowLong

WNDCLASS

Fensterklassen