CAPTURE D'ECRAN

Signaler
Messages postés
38
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
26 août 2004
-
Messages postés
1
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
9 juin 2004
-
Salut a tous!
Comment réaliser une capture d'écran et l'enregistrer sous le format désiré dans un répertoire désigné??
J'attend vos réponses svp!!!
ciao et bonne prog a tous!!

7 réponses

Messages postés
214
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004

Salut,

Une solution via l'API keybd_event pour simule le printscreen ( on simule la pression du bouton ):

//déclaration
procedure keybd_event(bVk:Byte; bScan:Byte; dwFlags: LongInt; dwExtraInfo: LongInt); external 'user32.dll'

{Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
Cette API permet de simuler des frappes au clavier tout comme vous le feriez.
}

Const TheScreen = 1 ' Copie l'écran
Const TheForm = 0 ' Copie la fenêtre active

//Simule le printscreen
keybd_event 44, TheScreen, 0, 0;
//44 car printscreen ( voir plus bas )

l'image est alors stockée dans le clipboard. Pour la récupérer tu la mets dans un objet de type image et tu fais SaveToFile. Ou tu vas dans MsPaint et fais coller si tu veux le faire manuellement

' a à z 65 à 90
' Home 36
' End 35
' Flêche vers le haut 38
' Flêche vers le bas 40
' Flêche vers la gauche 37
' Flêche vers la droite 39
' Echap 27
' Impr écran 44 (= vbKeySnapshot)
' Page haut 33
' Page bas 34
' Insert 45
' F1 à F12 112 à 123
' Barre d'espace 32
' Ctrl 17
' Alt 18
' Maj 16
' Verr Num 144
' Arrêt défil 145
' Tab 9
' Shift 16

Je pense que ça pourra t'aider suffisament.
@+ ;)
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Lut :)
moi je souf=haiterai approfondir la question puisque je fais une administration distante et si je prends un screenshot alors que le pc est en veille, j'obtient... du noir :) serait-il possible de faire un screenshot derriere le "masque" de l'ecran de veille?

merci d'avance :)

Visitez http://www.visiomaster.net :)
Messages postés
214
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004

Là tu me poses une colle.

Je ne pense pas mais il y a les options
Const TheScreen = 1 ' Copie l'écran
Const TheForm = 0 ' Copie la fenêtre active
qui sont citées dans le message précédent.
Peut-être qu'avec l'option TheForm mais je pense que c'est quand même l'écran de veuille qui est actif.
N'empêche, si tu trouves ou si quelqu'un sait se serait vraiment sympa.

Mais sans confirmer, je pense que c'est impossible. Peut-être en faisant une astuce mais je ne vois pas
Sorry

;) Bruto --- Le p'tit belge --- pour vous servir
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Autre alternative... je me debrouille pour ordonner la reactivation de l'ecran ss oublier le logg (verou de veille) et ensuite de rebalancer l'API de mise en veille... mais non seulement c chaud mais aussi ca craint car de l'autre coté y a un labs de tps ou le pc n'est plus protégé dc si qqun est la a ce moment...

enfin voila quoi !!!

Visitez http://www.visiomaster.net :)
Messages postés
214
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004

Tu détectes si on bouge la souris où si on tape au clavier.
Dès lors tu remets immédiatement l'écran de veille.

;) Bruto --- Le p'tit belge --- pour vous servir
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Je sais pas si tu as deja remarqué mais windows comporte cette (in)commodité, le verrou est reactivé qu'après la mise en veille... disons qu'il y a temporisation pdt 2-3 secondes (voire plus si tu rame) donc la faille secu reste bien ouverte :(

Visitez http://www.visiomaster.net :)
Messages postés
1
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
9 juin 2004

Dlaczego ja nie rozumiem, o czym wy do mnie piszecie :P