2009-08-07 2 views
4

Je suis en train de déclencher un changement de diaporama de bureau, mais je ne peux pas trouver une API publique pour le faire ...Comment commencer un changement de bureau de diaporama dans Windows 7

Plus je me était de voir la nom des méthodes utilisées (ils utilisent un objet COM, mais je ne connais pas le CLSID pour l'instancier).

Je sais déjà comment changer le fond d'écran du bureau (je le fais déjà), ce que je veux est un moyen de déclencher la transition du diaporama (nouveau pour Windows 7).

Répondre

4

Cela ne répond pas à votre question, et vous l'avez peut-être déjà résolu, mais si le moteur de diaporama de bureau (comme je l'appelle) a été démarré (si vous avez sélectionné 'Personnaliser'> ' 'puis choisissez' Arrière-plans de bureau Windows 'dans la liste déroulante' Emplacement de l'image ', puis vous verrez le fond fondu avant et arrière - c'est le moteur sur) alors vous pouvez utiliser le IActiveDesktop interface en appelant' SetWallpaper 'avec votre image JPEG et puis « » ApplyChanges avec les paramètres suivants:

AD_APPLY_ALL | AD_APPLY_FORCE | AD_APPLY_BUFFERED_REFRESH

Quand vous faites, vous remarquerez l'effet de transition diaporama est utilisé pour afficher le fond d'écran que vous avez spécifié. Charmant. Redémarrez cependant (ou tuez Explorer.exe et redémarrez-le) et le même appel ne fera pas la transition, il changera simplement l'arrière-plan à l'ancienne et de manière instantanée. Certains creuser avec Spy ++ montre que lorsque le moteur de diaporama est en cours d'exécution, le bureau réel FolderView ne vit plus sous 'Gestionnaire de programmes' dans la fenêtre parent/enfant, il appartient à une nouvelle fenêtre appelée 'WorkerW' joliment avec votre pile d'appels ci-dessus). En d'autres termes, il prend le contrôle de la fenêtre de bureau de Progman. Donc, ce que vous devez faire est de comprendre comment obtenir que l'explorateur initialise ce nouveau propriétaire de la fenêtre de bureau (le «moteur de diaporama») et ensuite vous pouvez utiliser l'interface IActiveDesktop pour changer l'arrière-plan.

+1

Hey, merci pour l'info, au moins j'ai quelque part plus près de regarder ... chaque fois que (si) je reçois plus d'informations sur ce que je vais poster. –

Questions connexes