Condividi tramite


Funzione GetWindowLongW (winuser.h)

Recupera informazioni sulla finestra specificata. La funzione recupera anche il valore a 32 bit (DWORD) in corrispondenza dell'offset specificato nella memoria aggiuntiva della finestra.

Nota Se si recupera un puntatore o un handle, questa funzione è stata sostituita dalla funzione GetWindowLongPtr. I puntatori e gli handle sono a 32 bit in Windows a 32 bit e 64 bit in Windows a 64 bit. Per scrivere codice compatibile con le versioni a 32 bit e a 64 bit di Windows, usare GetWindowLongPtr.

 

Sintassi

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

Parametri

[in] hWnd

Tipo: HWND

Handle per la finestra e, indirettamente, la classe a cui appartiene la finestra.

[in] nIndex

Tipo: int

Offset in base zero al valore da recuperare. I valori validi sono compresi nell'intervallo zero fino al numero di byte di memoria aggiuntiva della finestra, meno quattro; Ad esempio, se sono stati specificati 12 o più byte di memoria aggiuntiva, un valore pari a 8 sarà un indice del terzo numero intero a 32 bit. Per recuperare qualsiasi altro valore, specificare uno dei valori seguenti.

Valore Significato
GWL_EXSTYLE
-20
Recupera gli stili della finestra estesa .
GWL_HINSTANCE
-6
Recupera un handle nell'istanza dell'applicazione.
GWL_HWNDPARENT
-8
Recupera un handle nella finestra padre, se presente.
GWL_ID
-12
Recupera l'identificatore della finestra.
GWL_STYLE
-16
Recupera gli stili della finestra .
GWL_USERDATA
-21
Recupera i dati utente associati alla finestra. Questi dati sono destinati all'uso da parte dell'applicazione che ha creato la finestra. Il valore è inizialmente zero.
GWL_WNDPROC
-4
Recupera l'indirizzo della routine della finestra o un handle che rappresenta l'indirizzo della routine della finestra. Per chiamare la routine della finestra, è necessario usare la funzione CallWindowProc.
 

I valori seguenti sono disponibili anche quando il parametro hWnd identifica una finestra di dialogo.

Valore Significato
DWL_DLGPROC
DWLP_MSGRESULT + sizeof(LRESULT)
Recupera l'indirizzo della routine della finestra di dialogo o un handle che rappresenta l'indirizzo della routine della finestra di dialogo. Per chiamare la routine della finestra di dialogo, è necessario utilizzare la funzione CallWindowProc .
DWL_MSGRESULT
0
Recupera il valore restituito di un messaggio elaborato nella routine della finestra di dialogo.
DWL_USER
DWLP_DLGPROC + sizeof(DLGPROC)
Recupera informazioni aggiuntive private nell'applicazione, ad esempio handle o puntatori.

Valore restituito

Tipo: LONG

Se la funzione ha esito positivo, il valore restituito è il valore richiesto.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Se SetWindowLong non è stato chiamato in precedenza, GetWindowLong restituisce zero per i valori nella finestra o nella memoria della classe aggiuntiva.

Osservazioni

Riservare memoria aggiuntiva della finestra specificando un valore diverso da zero nella membro cbWndExtra della struttura WNDCLASSEX utilizzata con la funzione RegisterClassEx.

Esempi

Per un esempio, vedere Creazione, enumerazione e ridimensionamento di Windows figlio.

Nota

L'intestazione winuser.h definisce GetWindowLong come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll
set di API ext-ms-win-ntuser-windowclass-l1-1-0 (introdotto in Windows 8)

Vedere anche

CallWindowProc

concettuale

GetWindowLongPtr

riferimento

RegisterClassEx

SetParent

SetWindowLong

WNDCLASS

classi finestra