Share via


GetWindowLongW-Funktion (winuser.h)

Ruft Informationen zum angegebenen Fenster ab. Die Funktion ruft auch den DWORD-Wert (32-Bit) 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 abgelöst. (Zeiger und Handles sind 32 Bit unter 32-Bit-Windows und 64 Bit unter 64-Bit-Windows.) Verwenden Sie GetWindowLongPtr, um Code zu schreiben, der sowohl mit 32-Bit- als auch mit 64-Bit-Versionen von Windows kompatibel ist.

 

Syntax

LONG GetWindowLongW(
  [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 zum abzurufenden Wert. Gültige Werte liegen im Bereich 0 bis zur Anzahl der Bytes des zusätzlichen Fensterspeichers, minus vier; Wenn Sie beispielsweise 12 oder mehr Bytes zusätzlichen Arbeitsspeicher angeben, 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 für das übergeordnete 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. Sein Wert ist anfänglich 0 (null).
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 Informationen ab, die für die Anwendung privat sind, 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 noch 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 Wert ungleich null im cbWndExtra-Element der WNDCLASSEX-Struktur angeben, die mit der RegisterClassEx-Funktion verwendet wird.

Beispiele

Ein Beispiel finden Sie unter Erstellen, Aufzählen und Dimensionieren untergeordneter 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 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
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 (windows.h einschließen)
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