[R] Calculer le temps d'utilisation d'un logiciel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
proof007
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 01 août 2012 22:07
Status : Hors ligne

[R] Calculer le temps d'utilisation d'un logiciel

#1

Message par proof007 »

Bonjour ,
voila , je voudrai créer un petit script qui me permet de calculer le temps d'utilisation de deux logiciels en même temps, en détails :

-dès qu'un logiciel est entrain d’être manipulé ( je dis bien manipulé et non pas ouvert ), donc sa n'a pas de relation avec le processus mais avec la fenêtre du logiciel , si elle est au premier plan, c'est qu'il est entrain d’être utilisé(en utilisant WInwaitActiv ou winActiv).un compteur ou un chronomètre démarrera ,
- dés que tu change de fenêtre pour faire autre chose( se connecter, consulter ses mails) , le chronomètre s’arrête.
- et quand tu reviens à ton application : il continue son comptage

le but est de le faire avec 2 logiciels en même temps , dèes que l'un des 2, est utilisé, le chrono démarre , et il continue si tu passe à l'autre application.

si vous avez des idée n’hésitez pas, merci


Code : Tout sélectionner

[spoiler=]#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <Timers.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <Date.au3>
#include <GUIConstants.au3>


Dim $Ver = "Soft Use"
HotKeySet( "!x", "_Exit" );Alt+X to exit
GUICreate( $Ver, 300 , 120, -1, -1)

$Clock = GUICtrlCreateLabel( $Ver, 160, 10, 80 )
$Label1 = GUICtrlCreateLabel(" Soft Use", 30, 10, 100)

$button1 = GUICtrlCreateButton("Stop",20,80)
$button2 = GUICtrlCreateButton("INIT",260,80)


GUISetState()
Opt("WinTitleMatchMode", 2)
$oldSeconds=@SEC
$actSeconds = '0'
$i=0
while 1
    
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit 
        Case $msg = $button2
            $i=0
            $Time = _DateAdd ("s", $i, "2000/01/01 00:00:00")
            $Dif = StringSplit ( $Time, " " )
            GUICtrlSetData ( $Clock, $Dif[2] )
        
        Case $msg = $button1
            send("!x")
                        
    EndSelect
                
                    
      
    while WinwaitActive("Firefox") or winwaitActive("Internet Explorer")  ; exemple de firefox et internet exmplorer
        $actSeconds = @SEC
        if $oldSeconds <> $actSeconds then 
            
            $i=$i+1
            $Time = _DateAdd ( "s", $i, "2000/01/01 00:00:00" )
            $Dif = StringSplit ($Time, " " )
            GUICtrlSetData ($Clock, $Dif[2] )
            $oldSeconds=$actSeconds
            
        endif
    wend
wend

Func _Exit()
    MsgBox( 16, $Ver, " stopped at:" & @LF & $Dif[2],  5 ) 
    GUIDelete()
    Exit
EndFunc[/spoiler]
Modifié en dernier par proof007 le jeu. 02 août 2012 13:27, modifié 2 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#2

Message par Tlem »

Utilisez WinActive ou WinList pour savoir si la fenêtre est au premier plan ou non.
Les fonctions WinWaitxxxx étant blocantes, elles ne vous seront d'aucune utilité en la circonstance.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#3

Message par jguinch »

Bonjour.
Un truc comme ça ?
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
proof007
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 01 août 2012 22:07
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#4

Message par proof007 »

merci pour vos réponse, j'ai trouvé la solution, juste en modifiant l'emplacement de mon opt("WinTitleMatchMode",2)

Code : Tout sélectionner

[spoiler=]#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <Timers.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <Date.au3>
#include <GUIConstants.au3>


Dim $Ver = "Soft Use"
HotKeySet( "!x", "_Exit" );Alt+X to exit
GUICreate( $Ver, 300 , 120, -1, -1)

$Clock = GUICtrlCreateLabel( $Ver, 160, 10, 80 )
$Label1 = GUICtrlCreateLabel(" Soft Use", 30, 10, 100)

$button1 = GUICtrlCreateButton("Stop",20,80)
$button2 = GUICtrlCreateButton("INIT",260,80)
GUISetState()

$oldSeconds=@SEC
$actSeconds = '0'
$i=0

while 1
    
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit 
        Case $msg = $button2
            $i=0
            $Time = _DateAdd ("s", $i, "2000/01/01 00:00:00")
            $Dif = StringSplit ( $Time, " " )
            GUICtrlSetData ( $Clock, $Dif[2] )
        
        Case $msg = $button1
            send("!x")
                        
                    EndSelect
                
                    
      Opt("WinTitleMatchMode", 2)
    while WinActive("Firefox") or WinActive("Internet explorer") 
;~       MsgBox(64 + 8192, 'Message', 'Window detected')
        $actSeconds = @SEC
        if $oldSeconds <> $actSeconds then 
;~           MsgBox(64 + 8192, 'Message', 'seconds difference')
            $i=$i+1
            $Time = _DateAdd ( "s", $i, "2000/01/01 00:00:00" )
            $Dif = StringSplit ($Time, " " )
            GUICtrlSetData ($Clock, $Dif[2] )
            $oldSeconds=$actSeconds
;~          MsgBox(64 + 8192, 'Message', 'increment')
            
            
        endif
    wend
wend



Func _Exit()
MsgBox( 16, $Ver, " stopped at:" & @LF & $Dif[2],  5 ) 
GUIDelete()
;~ Run("D:\soft Crash\Soft Crash.xls")
Exit
EndFunc
[/spoiler]
 
merci

TommyDDR : Edit 1 : Je vais l'essayer, merci.
TommyDDR : Edit 2 : il marche nickel , merci beaucoup.
Modifié en dernier par TommyDDR le jeu. 02 août 2012 11:43, modifié 2 fois.
Raison : vous serez prié de préférer éditer un message plutôt que de faire du multipost... 3 messages en 4 minutes...
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#5

Message par TT22 »

Salut, ton script est assez bien fait.
Mais le problème, c'est que la fenêtre cache la croix pour fermer les autres fenêtres :?
proof007 a écrit :il y' a toujours une personne qui quand il sait pas répondre essaye de faire l’intéressant en laissant un commentaire hors sujet
Pour te prouver que je ne suis pas ce dont tu m'as qualifié, voici la solution au problème que j'ai énoncé plus haut.
La fenêtre change de position en fonction de la position de la souris :
► Afficher le texte
PS : Utilise le bouton Image pour modifier un message et ne pas en poster plein à la suite. Car je crois que TommyDDR est déjà entrain de te surveiller :twisted: :lol:

Edit : Trop tard, il a sévit :mrgreen:
Cordialement,
TT22
proof007
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 01 août 2012 22:07
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#6

Message par proof007 »

merci pour ta réponse ,
tu a raison pour la croix qui est caché, et ta proposition est pas mal, le problème est que je vais rajouter un bouton pour arrêter et ouvrir un Pop-up permettant à l'utilisateur de sauvegarder la durée et d'autre informations sur un fichier .txt ou excel si c'est possible.

merci bien
Modifié en dernier par Tlem le jeu. 02 août 2012 12:41, modifié 1 fois.
Raison : Suppression de la citation inutile
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#7

Message par Tlem »

Décidément, proof007 vous avez quelques problème sur l'utilisation des forums.

Le bouton 'Citer' n'est à utiliser que si vous avez une raison particulière de citer tout ou partie d'un message précédent. Ce n'est pas le bouton de base pour répondre !

Un effort que diable.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
proof007
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 01 août 2012 22:07
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#8

Message par proof007 »

Tlem a écrit :Décidément, proof007 vous avez quelques problème sur l'utilisation des forums.

Le bouton 'Citer' n'est à utiliser que si vous avez une raison particulière de citer tout ou partie d'un message précédent. Ce n'est pas le bouton de base pour répondre !

Un effort que diable.

décidément, il y a un problème de gentillesse sur ce forum,
tu me prend pour qui pour me parler comme sa,
apprend à parler aux gens d'abord, avant de venir me donner une leçon sur comment citer OK.
tu es administrateur ou modérateur , alors un minimum OK
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Calculer le temps d'utilisation d'un logiciel

#9

Message par timmalos »

La remarque de Tlem n'avait rien de méchant, et vous semblez bien peu ouvert d'esprit pour un ingénieur et semblez prendre les gens de bien haut. (Et c'est l'impression que vous donnez sur ce forum j'espère qu'il n'en est pas ainsi en vrai)

Mettez vous 5 secondes à la place d'un administrateur qui donne des dizaines d'heures chaque semaine à essayer de rendre ce forum non bordélique et qu'on doive repeter toujours et toujours la même chose. De temps en temps on s'enerve. :?

Si vous n'arrivez pas à comprendre les quelques efforts de rigueur que nous demandons sur ce forum afin de préserver des réponses de bonne qualité alors vous êtes libre de nous quitter et rien ne vous retient ici.


Edit : N'oubliez pas de passer votre sujet en résolu si il l'est ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Calculer le temps d'utilisation d'un logiciel

#10

Message par Tlem »

Et en plus, il récidive en citant mon message alors qu'il n'y en à aucune utilité.

Pour le coup, entre votre message agressif et ce foutage de gueule volontaire, vous avez droit à une marque spécialement dédiée aux personnes de votre caractère. Et comme l'a signalé Tim, si vous n'êtes pas d'accord avec nos règles, rien ne vous retient.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre