2013-02-08 76 views
2

我錯過了什麼使用IActiveDesktop?IActiveDesktop壁紙淡入淡出效果後重新啓動不工作

Sympthoms: 系統(Win7/Win8)重新啓動後,壁紙更換時的淡入淡出效果消失。

要恢復它,我必須手動轉到「個性化 - >桌面背景」並將「圖片位置」從「我的圖片」(?)設置回「Windows桌面背景」,然後返回(!)。在此操作後,淡入淡出效果再次正常工作,直到下一次系統重新啓動。

我不明白是什麼恢復它,以及如何阻止它。 如何以編程方式設置「Windows桌面背景」選項?什麼系統在後臺?

代碼本身是非常標準的,取自MSDN/CodeProject。

回答

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