CAPTURER L'ÉCRAN SANS UTILISER LE PRESSE-PAPIER, EN GARDANT LE POINTEUR DE LA SO

jpb14 Messages postés 18 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 janvier 2013 - 7 nov. 2007 à 15:46
kookiekookie Messages postés 1 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 5 août 2010 - 5 août 2010 à 10:12
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/44632-capturer-l-ecran-sans-utiliser-le-presse-papier-en-gardant-le-pointeur-de-la-souris

kookiekookie Messages postés 1 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 5 août 2010
5 août 2010 à 10:12
Salut,

Merci jpb14 pour la piste.
Après quelques recherches supplémentaires j'ai trouvé ce lien :
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.cursor.draw.aspx

qui permet de condenser le dessin du curseur en deux lignes :

Dim aRect As New Rectangle(Cursor.Position, Cursor.Size)
Cursor.Draw(ScreenGraphics, aRect)

Je pensais que ça pouvait vous intéresser.
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
9 nov. 2007 à 18:34
J'ai chargé ton programme Capturino: chapeau, il est super!
Ne pourrais-tu pas intégrer la capture du curseur dans ta prochaine version?
Ton code est-il disponible en version projet VB6 non exe? J'aimerais bien le parcourir.
Merci d'avance et encore bravo pour ton travail.
jpb14 Messages postés 18 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 janvier 2013
9 nov. 2007 à 10:03
Pour tes 2 remarques: mon programme ne sert qu'à montrer comment redessiner le bon curseur à sa place sur une capture écran.... Il y a bien entendu encore bcp à faire pour en faire un vrai programme de capture utilisable (pour commencer, Exercice n°1: agrandir la fenêtre, la placer en haut à gauche, supprimer la bordure de feuille, ajuster la pictureBox, ... excuse-moi, mes reflexes de prof qui reviennent :o)
A titre de comparaison, la version 1.5 de capturino (la prochaine) comporte près de 4500 lignes de code (c'est sans doute pas archi optimisé ... avec pleins de "bouts de ficelle" pour que ça continue à fonctionner après 2 ans de maintenances diverses)
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
8 nov. 2007 à 19:40
JPB14,

Désolé, je n'avais pas intégré que la fonction "DrawIcon" servait à dessiner le curseur!
Ma remarque ci-dessus ne tient que pour le 1er point...et aussi pour la partie limitée d'écran que l'on peut copier.
Encore mille excuses.
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
8 nov. 2007 à 18:45
Salut JPB14,

Qq remarques au sujet de ton code:
1/ Pour que l'évènement Key_Down de la frmDébut se déclenche, il faut que la form ait le focus, qu'elle perd dès que l'on clique sur l'écran...Il faut donc recliquer dessus avant de faire F11 ou lui mettre un timer qui lui remette le focus tous le 1/10s par ex.
2/ On ne peut avec ce code que copier la partie supérieure gauche de l'écran, ce qui est plutôt restrictif...Il ne sert donc à rien de déterminer la position du curseur!
3/ La fonction API "DrawIcon" est inutile pour copier l'écran, et d'ailleurs elle ne marche que pour une icône...

Je pense donc que ce code serait à revoir pour qu'il soit réellement utile.
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
7 nov. 2007 à 20:52
Bien joué!!!

N'y a-t-il pas une combinaison de touche qui permet lors d'un appuie sur imprime écran de faire la même chose?

----------------------------------------------------
Toujours + de VB et d'API => APi @ La loupe
http://apialaloupe.free.fr
jpb14 Messages postés 18 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 janvier 2013
7 nov. 2007 à 17:15
Ok ... Je corrige au plus vite
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 nov. 2007 à 16:43
fuite mémoire......

http://msdn2.microsoft.com/en-us/library/ms534830.aspx

After painting is complete, the ReleaseDC function must be called to release the device context. Not releasing the window device context has serious effects on painting requested by applications.
jpb14 Messages postés 18 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 janvier 2013
7 nov. 2007 à 15:58
c'est corrigé ..vous pouvez télécharger ..
jpb14 Messages postés 18 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 janvier 2013
7 nov. 2007 à 15:46
J'ai oublié l'Option Explicit ..et donc une déclaration de variable a été oubliée ..
dim Ret as Long ...dans la bonne procédure d'évènement
Rejoignez-nous