MODULE DE CAPTURE D'ÉCRAN

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 25 août 2005 à 06:15
philneo Messages postés 2 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 10 novembre 2005 - 10 nov. 2005 à 10:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33429-module-de-capture-d-ecran

philneo Messages postés 2 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 10 novembre 2005
10 nov. 2005 à 10:15
Salut à tous, voila je voudrai utilise ton système de capture pour faire une capture d'une zone sur une page web, mais je suis complètement novice voir même je ne connaît pas du tout ce langage et je ne sais même pas comme faire démarrer l'application, si je pouvais avoir quelques explications se serai gentil de votre part merci d'avance.
cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005
25 août 2005 à 22:43
Ca y est , j'ai remis la mise à jour .
On peut capturer l'avant dernière feuille en 1er plan ( car la dernière est la mienne ) avec l'API GetForegroundWindow, et récupérer les dimensions et la position de cette feuille avec l'API GetWindowRec.
J'ai fait l'effort de placer les API dans un module et de les classer par bibliothèques.
Le fichier "Passage" permet de passer les paramètres de la dernière capture à un autre programme.
Pour insérer ce module à un projet, il suffit "en gros" de remplacer END par UNLOAD ME ( et de faire attention à ce qu'il n'y ait pas de déclarations redondantes ... )
cs_clementpat Messages postés 406 Date d'inscription lundi 2 décembre 2002 Statut Membre Dernière intervention 25 janvier 2014
25 août 2005 à 19:49
merci a toi pour ta reponse , et pour ta source qui peut etre , tres utile.
cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005
25 août 2005 à 18:55
Bonsoir à tous.
Je vais refaire le zip , car quelques modifs vont apparaître :
1°. La possibilité de changer le nombre de captures maximums ( on était limité à 100 ); pour ma part cela n'était pas gênant.
2°. Un petit oubli dans la réinitialisation qui n'occasionnait pas de plantage, mais bon...
3°. Pour répondre à ta question ClementPat, cela est tout à fait possible. Il suffit de remplacer le GetDesktopWindow() par GetFocus() dans "BitBlt Pic.hdc, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow()), 0, 0, vbSrcCopy" et de récupérer la largeur et la hauteur de la feuille active.
Cette option sera dans le prochain ZIP.
( Là encore, je n'en avais pas besoin pour mon projet )
A+
cs_clementpat Messages postés 406 Date d'inscription lundi 2 décembre 2002 Statut Membre Dernière intervention 25 janvier 2014
25 août 2005 à 16:59
Re , merci ,j'ai compris.
d'apres vous :avec les API serait il possible de capturer la fenetre qui a le focus , au lieu de devoir selectionner une region de capture !
cs_Trappiste Messages postés 6 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 25 août 2005
25 août 2005 à 15:18
Salut darksidious.
Juste pour dire que, sans doute, pour les développeurs expérimentés qui utilisent les API tous les jours, la recherche de DOC ne pose pas de problème, mais pour les utilisateurs occasionnels, ce me semble être une autre paire de manches.
Ceci dit je te remercie pour tes liens, je vais les mettre dans mes favos !

Salut ClementPat.
Pour ce qui est du pilotage de la feuille de capture, tout est expliqué dans la feuille de capture en commentaires. on fait :
ENTER : pour réaliser une capture
ECHAP : pour quitter sans faire de capture
Flèches directionnelles : déplace d'1 pixel
CTRL + Flèches : déplace de 10 pixels
et bien sûr la souris pour déplacer la feuille ( en sélectionnant la partie supérieure de la feuille )

PluPlu, j'ai arrêté la bière...ça fait pas bon ménage avec le sky !
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
25 août 2005 à 11:35
Clementpat c'est normal quand tu as la fenêtre tranparente, il faut la déplacer et faire "enter" pour sauver la zone qui est dans ta fenêtre transparente.
Trappiste génial! ça marche à merveille ça mérite une bière (sans jeu de mots).
cs_clementpat Messages postés 406 Date d'inscription lundi 2 décembre 2002 Statut Membre Dernière intervention 25 janvier 2014
25 août 2005 à 10:01
Salut a toi , rien de fonctionne chez moi ,apres avoir demarré une capture, j'ai une fenetre transparente sur l'ecran !
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
25 août 2005 à 06:15
Juste pour revenir sur ton commentaire de source : "les explications sur les API ne sont pas fréquentes sur le WEB", là je ne suis pas du tout d'accord avec toi !

Il suffit d'aller sur les bons sites :
MSDN
Mentalis.org
ProgOtoP.com
DocVB.free.fr

et j'en passe !

Les API Windows sont très largement documentées maintenant car les développeurs Windows en ont forcément besoin un jour ou l'autre !

DarK Sidious
Rejoignez-nous