Page 1 sur 1
[..] Compter le temps d'affichage du SABLIER (souris) ?
Posté : mar. 20 oct. 2009 15:37
par sieurcoug
Bonjour,
D'après-vous est-il possible d'écrire un programme Autoit qui compte le temps où est affiché le sablier du pointeur de la souris ?
But de l'opération : j'ai une application qui est lente à réagir. Je souhaite compter le temps de réponse de l'appli : le temps total où l'application est active (au premier plan) et le temps où je dois attendre (affichage du sablier).
Remarque : en fait, l'application affiche "Pas de réponse" dans le gestionnaire de tâches lorsque le sablier est affiché.
Si vous avez une idée...
Merci d'avance !

Re: [..] Compter le temps d'affichage du SABLIER (souris) ?
Posté : mar. 20 oct. 2009 15:56
par Habibsbib
Ben oui ! Tu fais un PixelSearch pour le pixel du sablier, puis While c'est à dire pendant que(on trouve le pixel), tu fais une boucle ou tu lui demandes de dormir selon une variable déclarée au début de valeur indéterminée (sleep ($tempsablier)). Puis, après cette boucle, tu crées un MsgBox avec en incrémenté ta variable, soit :
Code : Tout sélectionner
MsgBox ("Temps Sablier", "Le temps d'affichage du sablier est égal à" &$tempsablier&".")
Voila-voila. Il te reste plus qu'a coder....
Mais je sais pas pourquoi, je doute que ca marche ... ?
Re: [..] Compter le temps d'affichage du SABLIER (souris) ?
Posté : mar. 20 oct. 2009 21:38
par sylvanie
Bonsoir,
Dans l'optique de la méthode par "décompte du sablier", une boucle sur mousegetcursor semble plus sage ^^
► Afficher le texte
Code : Tout sélectionner
$exe="J:\Program Files\Microsoft Office\Office10\winword.exe"
$name_window="Microsoft Word"
$pid=run($exe)
$cpt=0
While ProcessExists($pid)
WinActivate($name_window)
$status_mouse = MouseGetCursor()
If $status_mouse = 15 Then ; 15 = wait
$cpt+=100
EndIf
Sleep(100)
WEnd
ConsoleWrite("tps = "&$cpt/1000&" secondes"&@CRLF)
Dans cet exemple, j'admet que winactivate, Mousegetcursor et le test sont "gratuits en temps". Ce qui est faux biensûr, mais bon, à quelques millisecondes prêt le résultat est là ...
Attention, la souris doit rester sur l'appli (TODO manuel, ou par programation)
Maintenant on peut essayer la même chose en guettant le CPU (avec un outil externe) et en incrémentant si le cpu utilisé est supérieur à 70%...
Re: [..] Compter le temps d'affichage du SABLIER (souris) ?
Posté : mar. 20 oct. 2009 21:43
par Iste
Si la fenetre se met en 'pas de réponse', c'est encore plus mieux de se baser sur le code de sylvanie avec
http://www.autoitscript.fr/forum/viewto ... ond#p21859