我正在尝试一个项目,我可以使用opengl/directx或GDI为windows 7壁纸设置动画.我调查了Windows桌面窗口是如何布局的,我想出了整体
"Progman" - >"SHELLDLL_DefView" - >"SysListView32"
层次结构.我尝试连接SysListView32的WndProc,并尝试使用注入的c#dll搞乱消息,这样当我使用控制面板 - >个性化菜单强制更改时,我可以阻止桌面绘制壁纸.这些都没有实际阻止壁纸更新,所以我认为explorer.exe实际上并不处理绘制壁纸.
为了确认这一点,我杀死了explorer.exe并设置了一个小的c#程序,它将10秒计时器上的壁纸改为随机的.正如我所料,壁纸不断变化,让我相信explorer.exe实际上并没有处理壁纸的绘制!
不幸的是,这是我完全迷失的地方.我不知道还有什么负责绘制壁纸,以及我如何能够接管它的绘图以便我可以处理绘图.我已经尝试谷歌这几天了,几乎没有进展.我希望有人能指引我朝着正确的方向前进.