Freigeben über


GetWindowLongA-Funktion (winuser.h)

Ruft Informationen zum angegebenen Fenster ab. Die Funktion ruft auch den 32-Bit-Wert (DWORD) am angegebenen Offset im 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 Bit auf 32-Bit-Windows und 64-Bit-Versionen 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 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 0 bis zur Anzahl der Bytes des zusätzlichen Fensterspeichers minus vier; Wenn Sie beispielsweise 12 oder mehr Bytes zusätzlichen Arbeitsspeicher angegeben haben, wäre ein Wert von 8 ein Index für die dritte 32-Bit-Ganzzahl. Um einen anderen Wert abzurufen, geben Sie einen der folgenden Werte an.

Wert Bedeutung
GWL_EXSTYLE
-20
Ruft die erweiterten Fensterformatvorlagenab.
GWL_HINSTANCE
-6
Ruft ein Handle für die Anwendungsinstanz 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 Fensterformatvorlagenab.
GWL_USERDATA
-21
Ruft die Benutzerdaten ab, die dem Fenster zugeordnet sind. Diese Daten sind für die Verwendung durch die Anwendung vorgesehen, die das Fenster erstellt hat. Der Wert ist anfangs 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 privat 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 fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

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

Bemerkungen

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

Beispiele

Ein Beispiel finden Sie unter Creating, Enumerating und Sizing Child Windows.

Anmerkung

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
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-windowclass-l1-1-0 (eingeführt in Windows 8)

Siehe auch

CallWindowProc

Konzeptionelle

GetWindowLongPtr-

Referenz-

RegisterClassEx-

SetParent-

SetWindowLong-

WNDCLASS-

Fensterklassen