Capture d'écran [Résolu]

cs_etoile100100
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Dernière intervention
21 juin 2011
- 7 mai 2011 à 03:07 - Dernière réponse : cc125
Messages postés
14
Date d'inscription
mardi 1 mai 2012
Dernière intervention
15 novembre 2013
- 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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- 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é 86 internautes ce mois-ci

Commenter la réponse de cs_cheyenne
Meilleure réponse
cs_etoile100100
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Dernière intervention
21 juin 2011
- 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é 86 internautes ce mois-ci

Commenter la réponse de cs_etoile100100
pile_poil
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Dernière intervention
4 août 2012
- 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
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Dernière intervention
7 janvier 2018
- 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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- 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
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Dernière intervention
21 juin 2011
- 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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- 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
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Dernière intervention
21 juin 2011
- 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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- 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
Messages postés
14
Date d'inscription
mardi 1 mai 2012
Dernière intervention
15 novembre 2013
- 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.