Détecter changement de l'environnement

cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009 - 30 juin 2009 à 20:05
cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009 - 1 juil. 2009 à 11:45
Bonjour,

Dans le cadre du programme que je développe, je voudrais savoir si quelqu’un connaît une fonction pas trop lourde permettant de détecter tout les changements de l’écran (fenêtre qui s’ouvre, sourit qui bouge…).
Bref une fonction qui collecte tout les événements du système (ne se limitant pas une form du programme).

Je vous remercie d’avance.

5 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2009 à 22:39
salut,

"une fonction miracle", pas à ma connaissance

mot clé HOOK peut déjà t'aider
ensuite SUBCLASSING pour savoir quand le bureau est repeint, éventuellement

sinon avec enumwindows, avec historique (une de plus = nouvelle fenêtre)
etc....

beaucoup de pistes sont accessibles, il faudrait détailler un peu plus ton projet


dans tous les cas
ce domaine est déjà abordé dans multiples sources

bon courage

<hr size="2" width="100%" />
0
cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009
30 juin 2009 à 23:24
Merci,

Je vais continuer mes recherches. Mais je pensais a une fonction qui prend un scrennshot toue les x seconde et la compare a celle qu'il a prix x seconde avant, si l'image est la même = pas de changement, sinon...

Quand pence tu ?
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
1 juil. 2009 à 02:24
Bonsoir,

C'est encore plus lourd ca demande un traitement qui va bouffer tout ton proc, Tu fais une capture de mon screen par ex j'ai deux écrans un de 1680*1050 et l'autre de 1280x1024 cela te fait un sceenshot déja bien conséquent 8Mo environs, même en compressant cela te demandera de la ressource système.

Il y a aussi le calcule pour la comparaison byte par byte ou même zones par zone si tu veux... Non la c'est impossible tu peux laisser tomber cette voie, surtout avec un traitement à la seconde... (si tu recherche quelque chose de légé).

Suis plutôt les conseils de PCPT, oriente toi vers différentes API, celle qui touchent au périphériques pouvant intèrférer avec l'écran (ouvertures de fenêtres, capture de la souris, clavier, lecteurs de disque).

Sinon essaye de t'orienter vers des fonctions qui pourraient intercepter les messages envoyés à la carte graphique mais la c'est plus vers le C++ qu'il faut s'orienter je pense, et j'en ai franchement aucune idée... Je sais même pas si c'est possible, il y a telement de messages qui transitent. (A tout hazzard fais une demande sur le forum de cppfrance si personne a eu à développer une biblio qui traite des pilotes d'affichage ou quelque chose de similaire)

++

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
1 juil. 2009 à 11:29
Bonjour,

S'il ne s'agit que de vérifier l'existence d'activité ou d'inactivité, la chose est réalisable et est légère
S'il s'agit par contre d'inventorier les activités successives, c'est une autre paire de manche.
Précise le but de cette manoeuvre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009
1 juil. 2009 à 11:45
En faite mon but est de créer un programme type VNC, qui vérifierait l'activité du système (écran) et verrait si il est nécessaire d'envoyer une autre copie de l'écran (ou alors que une zone de l'écran qui a changer), mais il est vraie que sa va être assez lourd en consommation matériel, surtout que le but de ce programme est d'être TRES rapide...

Sinon, à tout hasard, vous n'auriez pas 2 ou 3 api, histoire de me mètre quelque chose sous la dent ?
0
Rejoignez-nous