Comme il est facile à DWM de faire une miniature « toujours sur le dessus » pour une fenêtre existante
-
23-08-2019 - |
Question
J'aime vraiment quand vous passez la souris sur une fenêtre dans Vista sur la barre des tâches et il vous donne un petit aperçu. si elle est vidéo, il joue même dans la miniature.
Souvent, je souhaite vraiment que je pourrais « arracher » cette petite fenêtre et le garder comme un « toujours sur » vignette sur mon écran. Peut-être sa barre de progression je regarde, peut-être son une vidéo que je veux un petit aperçu minuscule de.
est-ce pas le genre de chose qui DWM le rend facile à programmer. Serait-ce une entreprise simple à programmer en C # bien géré - ou devrais-je finir par avoir tous les enliser dans des choses difficiles API
Je suis intéressé par les solutions existantes et conseils sur la façon de coder quelque chose comme ça.
La solution
Un très bon aperçu de la façon de l'utiliser dans C #:
http://community.bartdesmet.net /blogs/bart/archive/2006/10/05/4495.aspx
Autres conseils
Désolé pour l'auto-promotion ici. :) Il suffit de mentionner il y a déjà une application qui vous permet de cloner chaque fenêtre de niveau supérieur et de garder leur aperçu « toujours au-dessus »: OnTopReplica .
Le programme est basé sur le Windows Forms bibliothèque de Aero, une bibliothèque .NET (c #) qui comprend certains emballages DWM. Pas de trucs API délicate nécessaire (en plus, l'API est assez simple de toute façon).
Oui, vous pouvez créer vos propres vignettes comme la barre des tâches. Vous allez devoir faire un peu de manipulation de la poignée de fenêtre bien. Comment cela fonctionne est fondamentalement que vous créez un enfant de fenêtre dans votre formulaire qui sera la vignette. Vous obtian la poignée de fenêtre de la fenêtre de niveau supérieur que vous voulez une vignette d'utiliser les trucs habituels. Ensuite, vous appelez une fonction DWM DWMRegisterThumbnail associer les deux. Vous ne recevez pas réellement impliqué dans la peinture la vignette du tout - une fois que les fenêtres sont associées, le processus de compositing DWM prend soin de peindre une miniature de la fenêtre de niveau supérieur dans votre formulaire.