2010-12-13 5 views
1

Je souhaite créer une fenêtre pouvant afficher le contenu actuel d'une application, par exemple Powerpoint ou Adobe Reader. Lorsque j'exécute mon application, je sélectionne d'abord celle de l'application en cours d'exécution que j'ai besoin de surveiller en temps réel. Une fois cela fait, je dois obtenir le contenu actuel de l'application sélectionnée et l'afficher. Comme mon application va être en temps réel, elle devra capturer le contenu de l'application sélectionnée au fur et à mesure de leur modification (avec un décalage minimal), puis l'afficher.Création d'une fenêtre de surveillance en temps réel d'une application

Si je comprends bien, cela comprend généralement des étapes suivantes: 1. La sélection d'une application que je veux suivre 2. Obtenir « notification » lorsque le contenu de cette applicaion (espace client) a changé 3. Capturer le nouveau contenu et l'afficher

Les étapes [1] et [3] sont assez faciles et je trouve plusieurs méthodes ici pour les effectuer. Cependant, pour le stade [2], je suis toujours désemparé. Quelqu'un peut-il jeter un peu de lumière sur la façon d'y parvenir?

Cheers.

+0

Vous penseriez que cela devient beaucoup plus facile sous Windows Vista/7 avec DWM et Aero Peek, mais je ne connais aucune API pour tirer parti du rendu DWM. –

+0

Un coup d'œil rapide sur DWM montre qu'il fonctionne différemment avec Win7/Vista et aussi avec la version WDDM. Je ne prendrai probablement pas cette approche puisque je voudrais soutenir tous en utilisant la même base de code, si cela est réalisable. Aussi n'a trouvé aucune mention de XP dans sa liste de soutien. – Ethan

Répondre

1

L'approche évidente que je peux penser est de prendre périodiquement des instantanés de la fenêtre de l'application et de la comparer à la précédente pour les changements.

+0

Oui, j'avais déjà essayé ça. Je pense qu'il devrait y avoir de meilleures façons de gérer cela, le sondage est vraiment brut et option de repli quand rien d'autre n'existe/fonctionne. – Ethan

2

Vous pouvez jeter un oeil à UltraVNC, qui fait exactement ce que vous essayez de faire (il a un mode fenêtre unique ainsi que plein écran). Il n'a pas moins de quatre façons d'accomplir votre étape # 2.

+0

C'est un bon indice. Laissez-moi regarder dans ceci. – Ethan