Condividi tramite


Funzione GetWindowLongA (winuser.h)

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

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 sia con versioni a 32 bit che a 64 bit di Windows, usare GetWindowLongPtr.

 

Sintassi

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

Parametri

[in] hWnd

Tipo: HWND

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

[in] nIndex

Tipo: int

Offset in base zero al valore da recuperare. I valori validi si trovano nell'intervallo zero tramite il numero di byte di memoria finestra aggiuntiva, meno quattro; ad esempio, se è stato specificato 12 o più byte di memoria aggiuntiva, un valore pari a 8 sarebbe un indice al terzo intero a 32 bit. Per recuperare qualsiasi altro valore, specificare uno dei valori seguenti.

Valore Significato
GWL_EXSTYLE
-20
Recupera gli stili di finestra estesi.
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. È necessario usare la funzione CallWindowProc per chiamare la routine della finestra.
 

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 procedura della finestra di dialogo o un handle che rappresenta l'indirizzo della procedura della finestra di dialogo. È necessario usare la funzione CallWindowProc per chiamare la procedura della finestra di dialogo.
DWL_MSGRESULT
0
Recupera il valore restituito di un messaggio elaborato nella procedura 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 informazioni dettagliate sull'errore, chiamare GetLastError.

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

Commenti

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

Esempio

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 di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-windowclass-l1-1-0 (introdotta in Windows 8)

Vedi anche

CallWindowProc

Informazioni concettuali

GetWindowLongPtr

Riferimento

RegisterClassEx

Setparent

Setwindowlong

WNDCLASS

Classi finestra