我是否遗漏了使用IActiveDesktop的内容?
Sympthoms: 系统(Win7 / Win8)重新启动后,壁纸更改时淡入淡出效果消失。
要恢复它,我必须手动转到“个性化 - >桌面背景”并将“图片位置”从“我的图片”(?)设置回“Windows桌面背景”,然后返回(!)。在此操作之后,淡入淡出效果再次正常工作,直到下一次系统重新启动。
我不明白是什么还原它以及如何阻止它。 如何以编程方式设置“Windows桌面背景”选项?背景是什么系统做的?
代码本身非常标准,取自MSDN / CodeProject。
答案 0 :(得分:1)
您必须告诉Windows您要启用ActiveDesktop。我每次都在通过ActiveDesktop设置壁纸之前告诉它。
public static void EnableActiveDesktop()
{
IntPtr result = IntPtr.Zero;
WinAPI.SendMessageTimeout(WinAPI.FindWindow("Progman", null), 0x52c, IntPtr.Zero, IntPtr.Zero, 0, 500, out result);
}
您可以在此处查看此内容:https://pulse.codeplex.com/SourceControl/changeset/view/72677#1589017