[R] Sessions Windows Active

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[R] Sessions Windows Active

#1

Message par matwachich »

Me voici me voila, avec une nouvelle question!
Je suis sur un projet de contrôle du temps d’accès au PC pour une session utilisateur (en l’occurrence, celle de mon petit frère, un vrai accro à Dofus!)
Le programme marche parfaitement, sauf que quand la session n'est pas active, mais toujours ouverte (Démarrer -> Arrêter -> Changer d'utilisateur ou CTRL+L), le compte à rebours continu et le temps qu'il reste avant la fermeture automatique de la session diminue.

Ma question: Comment savoir si la session est active ou pas?
Modifié en dernier par matwachich le dim. 06 févr. 2011 20:38, modifié 3 fois.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sessions Windows Active

#2

Message par Tlem »

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
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Sessions Windows Active

#3

Message par matwachich »

Merci Tlem pour la réponse.
C'est pas tout à fait ce qu'il me faut:
Ca aurai pu l'être mais imaginons que le frangin soit devant le PC mais à regarder un film, il ne touche ni le clavier ni la souris, mais la fonction dira que le PC est 'Idle'.
Il me faudrait quelque chose de plus précis, et concret: La session est active ou pas!

En cherchant sur le forum anglais:
http://www.autoitscript.com/forum/topic ... msearch__1
http://www.autoitscript.com/forum/topic ... ntry564543

Il utilisent à chaque fois la méthode du Idle Timer, mais c'est pas ce qu'il me faut (pour la raison sus-citée)

Merci
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sessions Windows Active

#4

Message par Tlem »

Heuu, vous avez quand même une base de départ.
En utilisant un code similaire à celui-ci :
► Afficher le texte
Et là, vous combinez la détection de l'activité du PC.
Bon, là c'est déjà plus délicat car sur quoi ce baser pour déterminer si le PC n'est pas utilisé ?
Peut être surveiller l'activité du disque dur, ou celle du CPU. ^^
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
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Sessions Windows Active

#5

Message par matwachich »

Oui c'est possible.

Si non je vient d'avoir une idée, mais pas le temps de l’essayer maintenant: (Il faut suivre!)
- On récupère le handle de la fenètre Program Manager actuellement active (le bureau) (WinGetHandle)
- On récupère le PID du process correspondant (c'est à dire explorer.exe) (_WinAPI_GetWindowThreadProcessId)
- On regarde à quel utilisateur appartient ce processus, et on a notre utilisateur actuellement actif (Lien)

Je vais tester et je vous tien au courant (normalement ce soir)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sessions Windows Active

#6

Message par Tlem »

Ou plus simplement, vous récupérez les infos de la fenêtre active, puis le processus rataché et enfin on regarde si il consomme du CPU ou de la RAM. ;)

Même si en substance c'est presque identique, ça ne l'est pas totalement. :mrgreen:
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
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Sessions Windows Active

#7

Message par matwachich »

J'ai trouvé la méthode direct et concrète que je voulais!
http://www.autoitscript.com/forum/topic ... ntry698711
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sessions Windows Active

#8

Message par Tlem »

Hummm, je viens de relire votre premier sujet et j'étais passé à coté du fait que vous parliez d'une session verrouillée puisque votre message initiale à été modifié juste après ma réponse.
Malheureusement, j'étais resté sur la première version, d’où l’incompréhension. :roll:
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