Page 2 sur 2

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:19
par Kevzi
Avec votre aide (et je vous en remercie :D ) j'ai procédé comme ceci :

Code : Tout sélectionner

Func capture() ;fonction capture
    Local $hBmp
    $e = "_"
    $m = "-"
    $input = InputBox("time", "capturer tout les : (60000 = 1MIN)") ; Va servir à parametrer le temps
    Do
        $rand = Random(1, 1000, 1) ; génère un nombre au hasard entre 1 et 1000 (le 1 après le 1000 veut dire qu'on veut un nombre entier)
        $hBmp = _ScreenCapture_Capture("") ;prend une capture de l'ecran
        _ScreenCapture_SaveImage($dir & @YEAR & $e& @MON & $e& @MDAY & $e& @HOUR &$m& @MIN &$m& @SEC &$m& @MSEC & ".bmp", $hBmp); la capture de l'ecran est enregistré dans le dossier

        Sleep(100)
    Until $hBmp = Sleep($input) ; refaire la captures avec le temps donné par $input

EndFunc   ;==>capture

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:23
par TommyDDR
Tempi pour l'incrémentation, mais changez le code comme cela (Pensez aussi à tester si $input est bien un nombre) :
► Afficher le textecode

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:32
par mikell
L'incrémentation c'est mieux !

Code : Tout sélectionner

$input = InputBox("time", "capturer tout les : (60000 = 1MIN)")
$var = 0
AdlibRegister("capture", $input)

Func capture() 
    Local $hBmp
    $hBmp = _ScreenCapture_Capture ("") 
    _ScreenCapture_SaveImage ($var&"surveillance.bmp", $hBmp)
    $var += 1 
EndFunc 
 
ça permet d'aller au plus simple
Et AdlibRegister pour pouvoir faire tourner d'autres fonctions en même temps (pour la webcam par ex.) parce qu'un Sleep() va paralyser le script

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:32
par Kevzi
Efffectivement , l'incrémentation semble plus efficace , je vais plutôt prendre ce qu'a fait mikell et faire la même chose pour les autres fonctions. Merci tout le monde. c'est un des rares forum à s’entre-aidé autant :D

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:42
par Kevzi
le problème c'est que si j'utilise la fonction capture et webcam , la webcam ne marche pas.

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:50
par Iste
TommyDDR a écrit :Personnellement je préfère l'incrémentation, imaginons qu'une impression écran mette moins d'une ms ! et OP, on écrase.
Si j'amais cela arrive, notre probleme ne sera plus la perte d'une image :roll:
Car une "video" a 1000fps va vite remplir le disque, autant donc limiter les doublons...

Une autre solution que j'utilise souvent est de séparer les images des information de capture par hashcode.
En gros, se retrouver avec deux dossier, un contenant toute les image sans dupliquer trier par hash, et un autre contenant des txt (heure, hashcode)

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 14:58
par FernandG
Kevzi a écrit :l'incrémentation semble plus efficace
Pensez à l'après .. Qu'en est-il si je relance le programme ? Peut-on considérer comme une faille le fait de redémarrer l'ordinateur ? Encore une fois, une capture en dessous de la seconde s'avère superflu (temps, traitement, ressouces, ...).

Edit : Dans le cadre de ce projet ...

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 15:22
par Kevzi
ah c'est malin ! maintenant j'hésite :lol: tout compte fait , j'ai fais sa :

Code : Tout sélectionner

$input2 = InputBox("time", "capturer tous les : (60000 = 1MIN)") ; Va servir à parametrer le temps
            AdlibRegister("photo", $input2)

Func capture()
    Local $e = "_"
    Local $m = ":"
    Local $NomFichier
    Local $hBmp
    If (Not (@error)) Then
        While (True)
            $NomFichier = $dir & @YEAR & $e & @MON & $e & @MDAY & $e & @HOUR & $m & @MIN & $m & @SEC & $m & @MSEC & ".bmp"
            $hBmp = _ScreenCapture_Capture($NomFichier) ;prend une capture de l'ecran
            Sleep($input2)
        WEnd
    EndIf
EndFunc   ;==>capture


 

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 15:39
par mikell
Avec AdlibRegister (voir l'aide) la fonction sera automatiquement lancée tous les $input2, donc faut virer le While, le Sleep etc
et franchement l'intérêt des millisecondes ça se discute

Code : Tout sélectionner

$input2 = InputBox("time", "capturer tous les : (60000 = 1MIN)") ; Va servir à parametrer le temps
AdlibRegister("capture", $input2)

Func capture()
    Local $e = "_"
    Local $m = ":"
    Local $NomFichier = $dir & @YEAR & $e & @MON & $e & @MDAY & $e & @HOUR & $m & @MIN & $m & @SEC & ".bmp"
    _ScreenCapture_Capture($NomFichier) ;prend une capture de l'ecran
EndFunc   ;==>capture

Re: [Ex] Autoit surveillance

Posté : sam. 10 sept. 2011 16:20
par Kevzi
J'ai mis exactement la même chose que vous , mais sa ne marche pas.

EDIT : ca ne marchait pas parce que un fichier ne peut pas contenir ":" :lol:

Re: [Ex] Autoit surveillance

Posté : sam. 17 sept. 2011 13:51
par guitarist
Je test ton programme en ce moment et j'arrive à un probleme : quand on lance le mod webcam par exemple on ne peut n'y l’arrêter ni lancer la surveillance écran en meme temps. Embêtant non?

Re: [Ex] Autoit surveillance

Posté : sam. 17 sept. 2011 14:04
par Kevzi
t'es obliger de commencer par la capture d’écran et ensuite par la capture de webcam , ça marchera. Ensuite c'est vrai que je dois faire une fonction pour arrêter la webcam ou la capture d’écran , j'y travaille

Re: [Ex] Autoit surveillance

Posté : mer. 28 sept. 2011 17:41
par Kevzi
Grosse misa à jour du script. il est plus facile d'utilisation et le code est plus "agréable" (moins lourd)

Re: [Ex] Autoit surveillance

Posté : jeu. 29 sept. 2011 18:00
par BlueCore
Hey ! Mon image !

Image

Tu pourrais demander avant de l'utiliser, et peut être me mettre dans les crédits ^^

Re: [Ex] Autoit surveillance

Posté : ven. 30 sept. 2011 17:15
par Kevzi
Ah, excuse moi BlueCore. Si tu veux, j'enlève l'image. Sinon si tu veux être dans les crédits, y'a pas de problème.