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.. :roll:

Voila si vous avez des idée :D
Donner une explication avec vos idée, je script que très rarement :wink:

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 :D

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!