Capture d'écran [Résolu]

cs_etoile100100 52 Messages postés mercredi 2 décembre 2009Date d'inscription 21 juin 2011 Dernière intervention - 7 mai 2011 à 03:07 - Dernière réponse : cc125 14 Messages postés mardi 1 mai 2012Date d'inscription 15 novembre 2013 Dernière intervention
- 20 avril 2012 à 23:36
salut,
je veu faire une capture d'écran chaque 5 secondes par exple,
je fait ca avec un Timer, et cel la mon petit code:
  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim capture As Bitmap
        capture = CapturerBureauWindows()
        capture.Save("d:\capture.jpg")
    End Sub

Mais le problème ici c que je doit faire une astuce pour nommer chaque image un nom différent pour qu'ils peuvent s'enregistrent tous,
merci.
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 7 mai 2011 à 12:29
3
Merci
Bonjour,

> pile_poil : oui, mais c'est valable pour une seule cession, à la prochaine il va se retrouver avec capture1.jpg au départ.

> etoile100100 : Je suggère plutôt d'ajouter la date et l'heure au nom du fichier.
Je ne connais pas VB.Net mais en VB6 c'est :
fichier = "d:\capture_" & Format$(Date$, "ddmmyy_") & Format$(Time$, "hhmmss") & ".jpg"

ce qui donne pour le 07-05-2001 à 12:22:28
d:\capture_050711_122228.jpg

Ainsi il n'y aura jamais le même nom de fichier et ce nom sera plus explicite.

Cheyenne

Merci cs_cheyenne 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cs_cheyenne
Meilleure réponse
cs_etoile100100 52 Messages postés mercredi 2 décembre 2009Date d'inscription 21 juin 2011 Dernière intervention - 7 mai 2011 à 14:11
3
Merci
merci beaucoup pour vos aide, la solution final est ceci:
 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim capture As Bitmap
        capture = CapturerBureauWindows()
        Dim captur As Object
        captur = Format(Today, "ddmmyy") & Format(TimeOfDay, "hhmmss")
        capture.Save("d:" & captur & ".jpg")
    End Sub

Merci cs_etoile100100 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cs_etoile100100
pile_poil 682 Messages postés vendredi 6 avril 2007Date d'inscription 4 août 2012 Dernière intervention - 7 mai 2011 à 07:46
0
Merci
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    static toto as integer
    toto = toto+1        
    Dim capture As Bitmap
    capture = CapturerBureauWindows()
    capture.Save("d:\capture" & cstr(toto) & ".jpg")
End Sub

pas testé mais ça doit marcher



si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - 7 mai 2011 à 12:00
0
Merci
Bonjour,
Ce sujet m'intéresse également,
Je produit une petite animation en 3D sur un panel.

Le calcul d'image est parfois long et saccadé et je voudrais pouvoir prendre des "photos" du panel.
Est-il possible également de récupérer l'image de mon panel a interval régulier, pour ensuite former une petite vidéo.
d'avance merci. CGSI3
Commenter la réponse de CGSI3
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 7 mai 2011 à 16:41
0
Merci
Re,

Toujours utiliser le typage pour les fonctions de texte. Format -> Format$
C'est 3 fois plus rapide (du moins en VB6).
Si le $ n'est pas utilisé, c'est considéré comme un type Variant, ce ralentit le temps d'exécution et consomme plus de mémoire.

Rajoutes un _ entre d:\capture et la date, cela rendra le nom de tes fichiers plus lisible.
   d:\capture050711_122228.jpg
-> d:\capture_050711_122228.jpg

Enfin, c'est toi qui es l'utilisateur, tu fais ce que tu veux

Cheyenne
Commenter la réponse de cs_cheyenne
cs_etoile100100 52 Messages postés mercredi 2 décembre 2009Date d'inscription 21 juin 2011 Dernière intervention - 7 mai 2011 à 16:49
0
Merci
merci bien , c trés logique
mais, j'ai une case à coché, que lorsqu'on la coche, les captures se lancent, je veu que je garde l'état du case à coché, c-a-d lorsque je coche la et je ferme, lorsque j'ouvre mon program je trouve ma case encore coché.
je pense à faire une petite base access
Commenter la réponse de cs_etoile100100
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 7 mai 2011 à 17:17
0
Merci
Re,

Tu ne vas quand même pas faire une base access pour si peu !

Le plus simple est de sauvegarder l'état de la case à cocher dans un simple fichier.
0 Unchecked   1 Checked   2 Grayed (en VB6)

Puis à l'ouverture du programme tu lis la valeur et tu l'attribues à la case à cocher.

Sinon tu as la base de registre ou les fichiers ini.

Cheyenne

PS. Attention aux nombreuses fautes d'orthographe !
Commenter la réponse de cs_cheyenne
cs_etoile100100 52 Messages postés mercredi 2 décembre 2009Date d'inscription 21 juin 2011 Dernière intervention - 7 mai 2011 à 17:23
0
Merci
je suis en mode .net pas vb 6,
et si tu peu détailler un peu + pour moi:
*un fichier "bloc note" ou koi exactement!!!
*pas grave a propo les fautes d'orthographes
Commenter la réponse de cs_etoile100100
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 7 mai 2011 à 17:54
0
Merci
RE,

Si c'est grave les fautes d'orthographe

Oui un simple fichier, comme lorsque tu sauvegardes un texte par exemple.
ff = Freefile
Open fichier For Output As #ff
  Print #ff, maCheckBox.Value
Close #ff

A toi de transposer en .Net

Cheyenne
Commenter la réponse de cs_cheyenne
cc125 14 Messages postés mardi 1 mai 2012Date d'inscription 15 novembre 2013 Dernière intervention - 20 avril 2012 à 23:36
0
Merci
Salut etoile100100
J'aimerais connaître ton code pour convertir
" capture = CapturerBureauWindows()"
car je suis débutant au niveau vb.net merci de ton aide =)

/A.F.D.Gbug\
Commenter la réponse de cc125

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.