struct RECT that is returned from GetWindowRect() can also be further manipulated by calling:
GetClientRect()
ScreenToClient()
ClientToScreen()
Yours sound like one of those cases
It would have been helpful if you posted the dimensions of your RECT. If top and left both == 0 then it is Client coordinates and if they are above zero then it is a Screen Coordinates.
You also need to pay attention to your Coordinate Space and Transformation functions:
[
^]