SetWindowPos如何不起作用

SetWindowPos怎么不起作用?
使用SetWindowPos对QQ的与某某聊天中窗体设置为顶层窗体,但是总是失败啊
不知道有人试过没?偶尔也会成功,不知什么原因?有没有其它方法设为顶层窗体了?

------解决方案--------------------
// 不总在前端

::SetWindowPos(m_hWnd,HWND_NOTOPMOST, rc.left , rc.top,
rc.Width(), rc.Height(), SWP_NOSIZE );

// 总在前端
::SetWindowPos(m_hWnd,HWND_TOPMOST, rc.left , rc.top,
rc.Width(), rc.Height(), SWP_NOSIZE );
------解决方案--------------------
const CWnd * pWndInsertAfter;
pWndInsertAfter = &wndTopMost;
SetWindowPos(pWndInsertAfter,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);
------解决方案--------------------
似乎QQ在后台定时(或者是随机的,没有测试过)更新什么界面元素,导致窗口的Z顺序不稳定,有时候在QQ打开情况下使用alt+tab键切换的顺序也会受到影响。建议你测试一下每次设定失败的时候究竟什么程序矿口在最上,也许这个窗口使用了定时的更新。