[win32]为啥调用SetWindowLong(),窗口客户区大小被改变了

[win32]为什么调用SetWindowLong(),窗口客户区大小被改变了?
我窗口客户区原本是800×600的大小,然后我需要支持窗口模式到全屏模式的切换,切换的时候,就需要修改style,即:
::SetWindowLong(hWnd, GWL_STYLE, WS_POPUP);
但是结果客户区大小变成了806×630,

请问有没办法让SetWindowLong()不改变客户区大小?
或者有没别的什么办法,可以让他保持800×600客户区大小??
(就是我不希望他触发WM_SIZE消息,因为这个地方我要用于处理别的事情)

------解决方案--------------------
20楼的程序运行后屏幕一片白,还关闭不了。(vc60)
不知道你到底要干什么。