Page 1 sur 1

[..] comportement d'un script autoit durant une hibernation

Posté : sam. 18 avr. 2009 22:29
par Iste
Salutations,

J'ai (cru) constater que pendant une mise en veille prolongée, la fonction sleep() "continuait" et en cas de sleep plus court que le temps de veille, attendait le redémarage pour reprendre la suite du script.
J'ai trouvé ca assez étrange, je pensais que le sleep se metterait en pause.

Donc mes question :
-Es-ce que c'est bien ce qu'il se passe ? (j'ai pas fait trop de test... j'ai qu'un ordi et il est pas sensé se mettre en veille ^^')

-Que ce passe t-il avec la fonction TimerInit/Diff() ?

Voila, merci !

Re: [..] comportement d'un script autoit durant une hibernation

Posté : dim. 19 avr. 2009 11:58
par Tlem
Lorsque votre ordinateur ce met en veille prolongée, les programmes en cours de fonctionnement sont suspendu/mis en pause.
Donc si votre programme est en train de faire un traitement, celui-ci sera mis en pause et repris lors de la sortie de veille.

La fonction TimerInit() génère une variable temporelle qui est incrémentée lors du déroulement du script. Donc logiquement la mise en veille prolongée de l'ordinateur ne devrait pas influencer le timer, mais effectivement un contrôle serait quand même plus prudent.

Re: [..] comportement d'un script autoit durant une hibernation

Posté : dim. 19 avr. 2009 13:41
par Iste
oki, je ferais des testes alors, et je vous donnerais mes resultats :)

Re: [..] comportement d'un script autoit durant une hibernation

Posté : dim. 19 avr. 2009 18:11
par Tlem
Perdu ... :cry:

Je viens de faire le test et il semble que AutoIt ce base sur autre chose qu'une variable temporelle simple.
Il faudrait que je fasse des tests plus poussés, mais à première vue il rajoute le temps de mise en veille !!!

Re: [..] comportement d'un script autoit durant une hibernation

Posté : lun. 20 avr. 2009 18:14
par tolf
Si le TimerInit est lancé à 15h00 et que l'ordinateur se met en veille de 15h30 à 16h00, que retourne le TimerDiff à 16h00 ? 30mn ou 60mn ?

Re: [..] comportement d'un script autoit durant une hibernation

Posté : lun. 20 avr. 2009 18:24
par Tlem
J'ai fait plusieurs tests.
A priori, il se base sur une horloge interne !!! :shock:

En effet, si je lance un timer, mais que je change l'heure du PC pendant la pause, le résultat correspond quand même au temps de la pause.
Par contre si je met en veille prolongée le PC pendant une heure, il me rajoute cette heure dans le résultat... :shock: :shock: :shock:

Re: [..] comportement d'un script autoit durant une hibernation

Posté : lun. 20 avr. 2009 19:33
par Iste
Oui, j'ai fais les test sur une machine distante, et c'est aussi ce que j'ai constaté ^^'
J'ai comme l'impression d'avoir bien fait de poser la question :p

Donc j'ai testé avec sleep, il continu durant la veille. J4ai constaté aussi des dif avec les timer mais je peux pas affirmer que c'est exactement le temps de mise en veille.

J'ai pas testé, mais je suppose que c'est idem pour les Adlibxx()

Re: [..] comportement d'un script autoit durant une hibernation

Posté : ven. 08 mai 2009 12:35
par tolf
A mon avis, AutoIt utilise la fonction "GetTickCount" de la dll "kernel32.dll" : cette fonction retourne le nombre de milisecondes écoulées depuis le démarrage de windows : http://msdn.microsoft.com/en-us/library ... S.85).aspx.
AutoIt enregistre une première valeur lors du TimerInit() et fait ensuite les calculs lors du TimerDiff() (d'où l'intérêt de mettre en paramètre du TimerDiff la valeur retournée par TimerInit()).
Et comme le système n'est pas éteint lors d'une hibernation, le temps de mise en veille et ajouté.
CQFD :P