[..] Action SI Inactivitée

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2109
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

[..] Action SI Inactivitée

#1

Message par TommyDDR »

Bonjour,
Je voudrais faire un code faisant ceci :

Il execute des actions en boucles tant que l'utilisateur est "actif sur son ordi" (il écrit au clavier)
et dès que l'utilisateur est "inactif" le programme effectue une action.
Mais si l'utilisateur est de nouveau "actif", le programme stop cette action en cour et revien sur les premieres actions

ce qui donnerait :

Code : Tout sélectionner

UtilisateurInactif("Inactif")

While (True)
    Action1
    Action2
Wend

Func Inactif()
    While (True)
        Action3 (si pendant l action3 ou l'action 4 l'utilisateur redevient actif, quitter la fonction)
        Action4
    Wend
EndFunc
"UtilisateurInactif" ressemblerai à "AdlibEnable" sauf que, au lieu d'executer la fonction toutes les xx ms, il executerai la fonction quand l utilisateur est inactif

Merci.
Modifié en dernier par TommyDDR le dim. 19 oct. 2008 16:29, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: Action SI Inactivitée

#2

Message par sylvanie »

Bonsoir,
je vais tenter de contourner le problème en suposa,t que le but cherché est de ne pas utiliser le CPU alors que l'utilisateur en a besoins.
Dans ce cas, il suffit simplement de lancer le script en basse priorité, et windows se chargera tout seul du travail ^^
ProcessSetPriority ( @AutoItPID, 0)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Action SI Inactivitée

#3

Message par Tlem »

@TommyDDR, cela faite déjà un moment que vous parcourez le forum.
Vous ne pouvez pas avoir déjà oublié que lors de la création d'un message, on met la balise [..] qui permet de savoir que ce topic est ouvert et n'a pas trouvé de solution.

Merci donc de vous conformer aux règles du forum en modifiant le titre de votre message.
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
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: Action SI Inactivitée

#4

Message par jbnh »

Et si possible plus former que con...
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2109
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Action SI Inactivitée

#5

Message par TommyDDR »

(désoler pour les balises, elles m'étaient sorties de l'esprit)

merci sylvanie pour ta/votre reponse, cela m'aide un peut mais je voudrais que la ligne en cours d'execution s'arrete en cas de retour en activitée exemple :

l'utilisateur est inactif:
le programme le detect et entre dans la 2eme boucle (qui fait des MouseMove en boucle),
l'utilisateur revient, le programme retourne dans sa 1ere boucle et si un MouseMove est en cour d'execution, alors, il s'arrête et retourne dans la 1ere boucle.

En esperant etre claire.

Merci
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2109
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Action SI Inactivitée

#6

Message par TommyDDR »

:/ je tourne en rond la :/
Si quelqu'un pouvait m'aider ^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Action SI Inactivitée

#7

Message par DJSIR »

Moi je suis la mais je ne peut pas t'aider !
Mais dit moi si tu as besoin d'autre chose...
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Action SI Inactivitée

#8

Message par jbnh »

@DJSIR essaye de pas mettre des posts sans utilité pour avoir un topic clair avec un cheminement logique.. :x :lol:

J'ai un peu essayer de trouver et je te propose deux solutions....

La première (la meuilleur je pense) un udf sur le forum anglais qui correspond à ce que tu demandes je pense:

http://www.autoitscript.com/forum/index ... =idle+time

La deuxieme serait de, toutes les x secondes, de checker la position de la souris, si deux checks se touchant sont semblables, commencer un timerinit() (pour peut etre calculer la période d'inactivité) et faire une pause dans le script.

Bonne chance :)
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Répondre