2009-08-07 58 views
4

我想要触发桌面幻灯片变化,但我无法找到一个公共API来做到这一点...如何开始播放幻灯片桌面更改Windows 7

我得到的是更接近看正在使用的方法的名称(它们正在使用COM对象,但我不知道要实例化它的CLSID)。

我已经知道如何更改桌面墙纸(我这样做的话),我要的是触发幻灯片切换(新到Windows 7)的方式。

回答

4

这不回答你的问题,你可能已经工作了,但如果桌面幻灯片引擎(我会打电话给)已启动(如果你带了“个性化”>“桌面背景‘从‘图片位置“,然后选择’Windows桌面背景’下拉,然后你会看到背景淡入和淡出 - 这是对发动机),那么你可以通过调用使用IActiveDesktop interface‘SetWallpaper’你的JPEG图片,然后“ApplyChanges”使用以下参数:

AD_APPLY_ALL | AD_APPLY_FORCE | AD_APPLY_BUFFERED_REFRESH

当你做,你会看到幻灯片切换效果用来显示您所指定的墙纸。可爱。

但是重启(或杀死的Explorer.exe并重新启动)和相同的调用不会做的过渡,它会只是改变旧,快速的方式的背景。一些与间谍++挖掘显示,幻灯片当发动机运转时,实际的桌面文件夹视图不再下“程序管理器”窗口中的父/子关系的生命,它是由一个名为“WorkerW”的新窗口,生活中资源管理器(联系起来资很好地与你的调用堆栈上面)。换句话说,它正在控制Progman的桌面窗口。

因此,您需要做的是弄清楚如何让资源管理器初始化桌面窗口的新所有者('幻灯片引擎'),然后您可以使用IActiveDesktop界面来更改背景。

+1

嘿,感谢您的信息,至少我有地方仔细看...每当(如果)我得到更多关于这方面的信息,我将它张贴。 – 2009-08-10 00:20:53

相关问题