2013-02-08 6 views
2

IActiveDesktop을 사용하여 뭔가가 누락 되었습니까?IActiveDesktop wallpaper 다시 시작한 후에 작동하지 않음

Sympthoms : 바탕 화면 변경 도중 시스템 (Win7/Win8) 다시 시작 페이드 효과가 사라집니다.

복원하려면 수동으로 "개인 설정 -> 바탕 화면 배경"으로 이동하고 "그림 위치"를 "Windows 바탕 화면 배경"으로 다시 설정 한 다음 다시 (!) 설정해야합니다. 이 작업 후에는 다음 시스템이 재시작 될 때까지 페이드 효과가 다시 정상적으로 작동합니다.

무엇이 되돌릴 수 있는지, 어떻게 멈추는 지 이해할 수 없습니다. 프로그래밍 방식으로 "Windows 바탕 화면 배경"옵션을 설정하는 방법? 백그라운드에서 어떤 시스템이 작동합니까?

코드 자체는 꽤 표준이며 MSDN/CodeProject에서 가져 왔습니다.

답변

1

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

관련 문제