在使用IActiveDesktop时,我是否遗漏了什么?
症状:系统(Win7/Win8)重启后更换墙纸时淡入淡出效果消失。
要恢复它,我必须手动转到“个性化->桌面背景”,并设置“图片位置”从“我的图片”(?)返回到"Windows桌面背景“,然后返回(!)。执行此操作后,淡入淡出效果将再次正常工作,直到下次系统重新启动。
我不知道是什么恢复了它,也不知道如何阻止它。如何以编程方式设置"Windows桌面背景“选项?什么系统在后台运行?
代码本身是非常标准的,取自MSDN/CodeProject。
发布于 2013-05-03 11:35:55
你必须告诉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
https://stackoverflow.com/questions/14773287
复制相似问题