George,
Just clarifying: HWND_TOPMOST (-1) as sent to SetWindowPos != WS_EX_TOPMOST (0x8) that masks the return value of GetWindowLong(.. GWL_EXSTYLE )
>All I can say is, "...Duh!":-) I didn't recognize the constant as being the same one that sets the window as always on top, and confused it with a top level window. After re-reading Bill's post, it becomes clear that your solution is indeed the one he needs. My bad.