Comprueba qué parámetros debes pasar a GetWindowLong. El primer error/warning (no has indicado exactamente si te da error o warning) que te da te está diciendo que estás intentando pasar un entero cuando espera un puntero. Abre el archivo
windows.h (ó
win.h, depende de tu compilador), que probablemente estará en el subdirectorio
include de tu compilador. Encontrarás algo parecido a esto (los puntos suspensivos indican que hay más líneas):
Código C:
Ver original...
typedef void *HANDLE;
...
typedef HANDLE HWND;
...
LONG STDCALL GetWindowLongA(HWND,int);
...
#define GetWindowLong GetWindowLongA
...
Es decir, que el parámetro
HWND que espera GetWindowLongA (que es la función que te indica el mensaje de warning, debido al #define) es en realidad un
puntero a tipo void.
El segundo mensaje se debe a que estás pasando como parámetro un puntero a long (al haber definido hWnd como long, &hWnd es un puntero a long), cuando está esperando un puntero a void.
No sé de donde procede el valor que has asignado a hWnd en su declaración, tampoco sé mucho de programación para Windows, pero entiendo que hWnd debería haber sido declarada como tipo HWND y su valor el obtenido al crear la ventana correspondiente.
Saludos,