Page 1 sur 1
[R] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 10:45
par astaroth
Bonjour a tous!
Alors voila, je voudrais faire un script qui lance une capture d'écran toute les 10secs et qui enregistre la capture dans un répertoire donner..
J'ai commencer par:
Code : Tout sélectionner
#NoTrayIcon
Send("{PRINTSCREEN}"}
While 1
Sleep(10000)
Send("{PRINTSCREEN}"}
WEnd
Je sait, je n'ai pas commencer grand chose ^_^
Le problème est que je ne sait pas comment faire pour qu'il se lance au lancement d'un programme (J'ai penser a quelque chose du genre: "Quand le processus truc.exe fonctionne le script commence")
Deuxième problème je ne sait pas comment l'enregistrer dans le répertoire donner sous le format que je veux..
Voila si vous avez des idée
Donner une explication avec vos idée, je script que très rarement
Merci!
Re: [..] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 12:11
par olaiv
Salut , je pense que les fonctions de l'udf
ScreenCapture Management te conviendraient , regarde l'aide pour
_ScreenCapture_Capture par exemple.
Ensuite pour effectuer une action toutes les 10 secondes tu peux utiliser
AdlibEnable
Un exemple simple :
Code : Tout sélectionner
#include <ScreenCapture.au3>
AdlibEnable ("_ScreenShot",10000)
While 1
;le reste de ton script ici
WEnd
Func _ScreenShot()
_ScreenCapture_Capture (@MyDocumentsDir & "\TonImage.jpg")
EndFunc
J'espère t'avoir mis sur la voie

Re: [..] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 12:22
par Yogui
astaroth a écrit :
Code : Tout sélectionner
#NoTrayIcon
Send("{PRINTSCREEN}"}
While 1
Sleep(10000)
Send("{PRINTSCREEN}"}
WEnd
le plus simple c'est d'utiliser l'include ScreenCapture.au3
Code : Tout sélectionner
#NoTrayIcon
#include <date.au3>
#include <ScreenCapture.au3>
HotKeySet("{ESC}","_terminate")
$heure = @HOUR&@MIN&@SEC
MsgBox(0,"",$heure)
_ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image"&$heure&".jpg")
While 1
Sleep(10000)
$heure = @HOUR&@MIN&@SEC
; Capture full screen
_ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image"&$heure&".jpg")
WEnd
Func _terminate()
Exit
EndFunc
Re: [..] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 17:34
par astaroth
Code : Tout sélectionner
#NoTrayIcon
#include <date.au3>
#include <ScreenCapture.au3>
HotKeySet("{ESC}","_terminate")
$heure = @HOUR&@MIN&@SEC
_ScreenCapture_Capture("E:\Captures" & "\GDIPlus_Image"&$heure&".jpg")
While 1
Sleep(10000)
$heure = @HOUR&@MIN&@SEC
; Capture full screen
_ScreenCapture_Capture("E:\Captures" & "\GDIPlus_Image"&$heure&".jpg")
WEnd
Func _terminate()
Exit
EndFunc
Super ^_^
Est-il possible que le script commence seulement quand un certain processus est lancé, et qu'il s'arrête lorsque le processus s'arrête? (truc.exe par exemple)
Comment utiliser une combinaison de touche pour l'arrêter a la place du bouton "echap"? (Ctrl + Alt + F5 par exemple)
Sinon merci

Re: [..] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 20:17
par Yogui
Pour vérifier si un processus existe c'est
If ProcessExists("truc.exe ") Then
MsgBox(0, "Example", "truc.exe est présent.")
EndIf
Concernant l'intéruption vous pouvez consulter l'aide ou dans les tuto suivre ce lien
http://www.autoitscript.fr/forum/viewto ... f=11&t=294
de nombreuse touches y sont indiqué
Re: [..] ImprimEcran au lancement d'un programme
Posté : mar. 06 janv. 2009 21:10
par astaroth
Voila j'ai fait ça:
Code : Tout sélectionner
#include <date.au3>
#include <ScreenCapture.au3>
HotKeySet("!^{F5}","_terminate")
$heure = @HOUR&@MIN&@SEC
_ScreenCapture_Capture("E:\Sreens" & "\Capture"&$heure&".jpg")
While 1
If ProcessExists("truc.exe") Then
Sleep(10000)
$heure = @HOUR&@MIN&@SEC
; Capture full screen
_ScreenCapture_Capture("E:\Sreens" & "\Capture"&$heure&".jpg")
Else
ProcessClose ("Capture d'écran.exe")
EndIf
WEnd
Func _terminate()
Exit
EndFunc
Ça marche nikel ^_^
Pour le lancement j'ai fait un script qui lance le programme désirer ainsi que le script de capture.
Merci pour vos réponses!