再问一次,当透明窗口遇上屏保!解决方法

再问一次,当透明窗口遇上屏保!
做一个透明窗口,我想不用我多说了,程序如下,应该没什么问题:
SetWindowLong(m_hWnd,   GWL_EXSTYLE,   GetWindowLong(m_hWnd,   GWL_EXSTYLE)   |   WS_EX_LAYERED);
SetLayeredWindowAttributes(m_hWnd,   0,   85,   LWA_ALPHA);

但有一点说明一下,上面的m_hWnd窗口是一个POPUP型无模式对话框,并且在一个主对话框中创建,也就是说他不是主窗口。

问题仅仅表现在WIN2003上,当屏保启动,经过相当长一段时间后,大概2,3小时,再退出屏保,此时对话框变成一块白板,上面的按钮,列表什么的都消失了!

最小化,再还原,问题解决。
把鼠标移动到按钮上,按钮就显示出来。
不知道大家遇到过这个问题没有,有没有解决办法?

注:程序运行没有问题,界面没有死,内存没有增长。

------解决方案--------------------
你设个timer定时给它重绘一下
------解决方案--------------------
最小化,再还原,问题解决。
把鼠标移动到按钮上,按钮就显示出来。
==========================================

这说明重绘就好了。
------解决方案--------------------
需要重绘一下就好了
------解决方案--------------------
按理说,屏保退出的时候,系统应该会给你的窗口一个重绘的建议(消息)的.