The SetWindowLong function changes an attribute of the specified window.
The function also sets the 32-bit (long) value at the specified offset into the extra window memory
DWORD SetWindowLong( HWND hWnd, int nIndex, DWORD dwNewLong )
If the function succeeds, the return value is the previous value of the specified 32-bit integer.
If the function fails, the return value is zero.
Certain window data is cached, so changes you make using SetWindowLong will not take effect until you call the SetWindowPos function. Specifically, if you change any of the frame styles, you must call SetWindowPos with the SWP_FRAMECHANGED flag for the cache to be updated properly.