Page 1 sur 1

[R] Gui pour un compteur d'exécution script

Posté : lun. 29 déc. 2014 22:31
par Boulanza
Bonsoir,
Je cherche à réaliser Gui pour un compteur qui chiffre le nombre de fois qu’une application a été exécutée. Puis reporter le résultat (le nombre d’exécution) par heure dans un fichier texte.
Merci pour votre aide.

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 08:13
par jguinch
Perso, j'ai rien compris à l'énoncé :shock:

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 08:34
par Y01
Bonjour,

Je pense qu'il y a moyen de compter le nombre de fois qu'une application a été lancée avec ProcessExists.

Après, pour que le script comprenne quand l'application est lancée à nouveau et incrémenter un fichier... je ne vois pas trop désolé.

Re: [R] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 09:18
par Boulanza
Bonjour,
Oui Y01, absolument l’existence du processus est un indice suffisant pour compter le nombre de fois l’application a été exécuter.
Pour le script je suis comme vous je ne voie pas comment le réaliser.
Cordialement.

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 09:52
par Y01
J'ai réfléchi à un début de script :

Code : Tout sélectionner

#include <MsgBoxConstants.au3>
$i = 0
While 1
   if ProcessExists("notepad++.exe") Then
$i = $i + 1
Sleep(100)
MsgBox(0,"",$i)
EndIf
WEnd
Pour l'instant, la popup bloque le comptage. Tant qu'on ne clique pas sur OK alors que le processus est ouvert, le comptage est bon. Je cherche à régler ce problème et à supprimer la popup.

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 10:27
par mikell
Voilà la trame basique d'un moteur de comptage, ensuite le reste n'est que de la mise en forme

Code : Tout sélectionner

Global $var = 0
While 1
   If ProcessExists("calc.exe") Then
        If $var = 0 Then
            $n = FileRead("compt.txt")
            $file = FileOpen("compt.txt", 2)
            FileWrite($file, $n+1)
            FileClose($file)
            $var = 1
       EndIf
   Else
       $var = 0
   EndIf
   Sleep(100)
Wend

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 10:56
par Y01
De mon coté, j'ai finalisé un bout de code fonctionnel (bien que sans aucun doute bien moins optimisé que celui de mikell mais j'apprends hein ;) )

Le voici :
► Afficher le texte

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 11:56
par Boulanza
Re-Bonjour,
Merci à vous tous...
J'ai créer une Gui, mais elle est incomplète.. Je n'ai pas su ou placer $Option.
Cordialement.
► Afficher le texte

Re: [..] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 12:22
par Y01
J'ai réadapté mon bout de code pour rajouter une GUI (dont je ne vois pas vraiment l’intérêt)

/!\ Le compte de lancement ne s'effectue qu'à la fermeture du process /!\
► Afficher le texte

Re: [R] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 12:39
par Boulanza
Oui Y0I, c’est excellent votre script il répond à ma demande, il doit garder en mémoire et reprendre les anciens chiffres (solde du compte) inscris dans le fichier comptage.txt : (comptage.txt+1)

Re: [R] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 13:21
par Boulanza
Bonjour,
J'ai repris le script de mikell et en s’appuyant sur le principe du script de Y01 le problème est résolu.
Merci infiniment de votre contribution.
Cordialement.
► Afficher le texte

Re: [R] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 14:12
par Y01
J'aurais mis un peu de temps à comprendre le fonctionnement du code de mikell mais j'y suis arrivé et je dois avouer qu'il est puissant. :shock:

Heureux d'avoir pu aider Boulanza.

Re: [R] Gui pour un compteur d'exécution script

Posté : mar. 30 déc. 2014 19:56
par mikell
Boulanza, que tu puisse passer ça en résolu ça me tue compte tenu du nombre d'erreurs dans ton code :?

Fais-nous plaisir et étudie - fichier d'aide à l'appui - cette version corrigée et fonctionnelle
► Afficher le texte

Re: [R] Gui pour un compteur d'exécution script

Posté : mer. 31 déc. 2014 08:31
par Y01
Et pour reprendre le compte à zéro lorsqu'on relance le script, ça vaux le coup de mettre ça ?

Code : Tout sélectionner

Case $GUI_EVENT_CLOSE
FileDelete($fichier)
Exit

Re: [R] Gui pour un compteur d'exécution script

Posté : mer. 31 déc. 2014 08:42
par jguinch
@Y01 : oui, et si l'utilisateur arrête l'ordinateur sans prendre la précaution de fermer le script ? Dans ce cas, mieux vaut mettre le FileDelete au lancement du script, non ? :P

Re: [R] Gui pour un compteur d'exécution script

Posté : mer. 31 déc. 2014 08:45
par Y01
Certes, je pensais juste qu'il y avait moins de risque d'erreur lorsque le fichier était déjà ouvert avec AutoIt.

Re: [R] Gui pour un compteur d'exécution script

Posté : mer. 31 déc. 2014 08:52
par jguinch
Justement, il faut mieux supprimer un fichier fermé :roll:

Re: [R] Gui pour un compteur d'exécution script

Posté : mer. 31 déc. 2014 09:01
par Y01
Au temps pour moi !

Je me fais souvent avoir avec AutoIt parce que les "oublis" d'ouvertures et de fermetures de fichiers sont tolérés dans les scripts (pourquoi Scite ne dis rien quand on écrit sans ouvrir ni fermer un fichier ?).

Du coup, je n'ai pas fait le rapprochement entre l'ouverture d'un fichier par AutoIt et l'ouverture "à la main". Je pensais juste que le FileOpen permettait de "bloquer" les ressources pour qu'aucun autre programme qu'AutoIt ne puisse modifier ou supprimer le fichier en question sans pour autant empêcher AutoIt de le faire lui même.