Это не отвечает на ваш вопрос, и вы, возможно, уже решили его, но если запущен механизм слайд-шоу на рабочем столе (как я его назову) (если вы вызываете «Персонализация»> «Фон рабочего стола») затем выберите «Фоны рабочего стола Windows» из выпадающего меню «Расположение изображения», затем вы увидите, как фон постепенно исчезает - это движок), затем вы можете использовать интерфейс IActiveDesktop , вызвав «SetWallpaper» 'с изображением JPEG, а затем' ApplyChanges 'со следующими параметрами:
AD_APPLY_ALL | AD_APPLY_FORCE | AD_APPLY_BUFFERED_REFRESH
Когда вы это сделаете, вы заметите, что эффект перехода слайд-шоу используется, чтобы показать обои, которые вы указали. Прекрасный.
Однако перезагрузите компьютер (или убейте Explorer.exe и перезапустите его), и тот же вызов не будет выполнять переход, он просто изменит фон в старом, мгновенном виде. Некоторые раскопки со Spy ++ показывают, что когда движок слайд-шоу работает, фактический рабочий стол FolderView больше не находится под «Диспетчером программ» в отношении окна «родитель / потомок», он принадлежит новому окну «WorkerW», которое находится внутри Проводника (связывает хорошо с вашим стеком вызовов выше). Другими словами, он берет на себя управление окном рабочего стола от Progman.
Итак, вам нужно выяснить, как заставить Explorer инициализировать нового владельца окна рабочего стола («механизм слайд-шоу»), а затем вы можете использовать интерфейс IActiveDesktop для изменения фона.