I am going to assume that this function is part of a class that you define HWND variable in it... since you used "this->hwnd" and did not complain about an error message that says : "class NAME has no member "hwnd"
if that function is not in a class then "this" keyword will return a pointer to the process handle and not the class object (which I think is not what you want... a process can have more than one window! with more than one hwnd!)
can you show us the code in which you create your window? the segment of your code where you call CreateWindow() or CreateWindowEX() function... you should define HWND variable and use that to store the window handle that returns from these functions... then you can use that window handle to customize your window...
also is the way you use SetWindowPos correct?
according to
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx the 4 int parameters are the (3rd, 4th, 5th and the 6th) but you pass the 0, 0, 0, 0, as the (2nd, 3rd, 4th and the 5th) so you are passing 0 for hWndInsertAfter parameter which will be HWND_TOP according to the same link. but still you need to add (HWND) before the zero to cast it...
SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE| SWP_DRAWFRAME are being passed as cy parameter!
also the last parameter?! boolean? true? i dont think uFlags accept that...
last how the windows suppose to know what window to change position if you passed NULL as window handle?? (first parameter)
that can be solved by passing the hwnd that you get from creating a window instead of passing NULL...