2010-06-07 6 views
2

Je veux créer un gestionnaire de bureau qui prend des informations sur toutes les applications en cours, y compris les états et les captures d'écran pour les afficher et les manipuler dans mon espace virtuel. Il peut être considéré comme une autre couche d'abstraction au-dessus de Windows lui-même. Parce que de nombreuses fonctionnalités Windows Vista/7 natives telles que Flip 3D et Live Thumbnails sont capables d'afficher les activités de chaque fenêtre en temps réel, par exemple. la vidéo continue de jouer dans la vignette de la barre des tâches, je pense que DWM permet à une application de rediriger sa sortie vers un autre endroit ou certains processus spéciaux peuvent collecter les sorties graphiques d'autres applications (peut-être seulement des processus enfants). Microsoft a-t-il publié un ensemble d'API publiques pour le faire? Si non, est-ce techniquement possible? Et est-ce plus facile si je limite ma portée aux applications .NET avec WPF?Sortie graphique de l'application de redirection sous Windows Vista/7 (avec DWM)

Répondre

1

Vous pouvez appeler DwmRegisterThumbnail et le DWM dessine la vignette en direct dans votre fenêtre.

Je pense qu'il n'y a pas de façon supportée d'obtenir ces données et de les manipuler vous-même, mais il y a des hacks mais je ne les ai jamais utilisés moi-même.

+0

Cela fonctionne très bien pour les vignettes. Mais il reste la question de savoir comment Flip3D (Win + Tab), ou Switcher (http://insentient.net/) parvient à dessiner le contenu de la fenêtre –

+0

Ceci est un peu en retard, mais au cas où quelqu'un est toujours intéressé - l'article MSDN sur DWM Les vignettes de http://msdn.microsoft.com/en-us/library/aa969541(v=vs.85).aspx indiquent que ces vignettes ne peuvent pas être utilisées pour obtenir des effets comme Flip3D. Incidemment, j'ai trouvé une DLL dwmredir.dll et ai regardé ses fonctions exportées, et je pense que dwmredir.dll est responsable en partie de rediriger le dessin de fenêtre aux buffers internes. – AniDev

Questions connexes