begin process at 2010 02 10 17:28:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > TESTER LA PRÉSENCE DE L'UTILISATEUR ISINPUTIDLE

TESTER LA PRÉSENCE DE L'UTILISATEUR ISINPUTIDLE


 Information sur la source

Note :
8,6 / 10 - par 5 personnes
8,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :isinputidle, tester, presence, utilisateur, detecter Niveau :Débutant Date de création :24/10/2005 Vu / téléchargé :5 261 / 466

Auteur : Renfield

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note


 Description

Ce petit code permet de détecter la présence, ou dumoins l'activité de l'utilisateur, suivant un intervalle parametrable...

Source

  • Private Declare Function GetLastInputInfo Lib "user32.dll" (ByRef plii As LASTINPUTINFO) As Long
  • Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
  • Private Type LASTINPUTINFO
  • cbSize As Long
  • dwTime As Long
  • End Type
  • '# Permet de savoir si l'utilisateur est considéré comme absent. L'intervalle est en secondes
  • Public Function IsInputIdle(ByVal vIdleTimeout As Long) As Boolean
  • Dim LII As LASTINPUTINFO
  • LII.cbSize = Len(LII)
  • If GetLastInputInfo(LII) <> 0 Then
  • IsInputIdle = (GetTickCount - LII.dwTime) > (1000 * vIdleTimeout)
  • End If
  • End Function
Private Declare Function GetLastInputInfo Lib "user32.dll" (ByRef plii As LASTINPUTINFO) As Long
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long

Private Type LASTINPUTINFO
    cbSize As Long
    dwTime As Long
End Type

'# Permet de savoir si l'utilisateur est considéré comme absent. L'intervalle est en secondes
Public Function IsInputIdle(ByVal vIdleTimeout As Long) As Boolean
Dim LII As LASTINPUTINFO
    LII.cbSize = Len(LII)
    If GetLastInputInfo(LII) <> 0 Then
        IsInputIdle = (GetTickCount - LII.dwTime) > (1000 * vIdleTimeout)
    End If
End Function


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS
Source avec Zip CSOCKET - REMPLACEZ WINSOCK PAR LA VERSION 2 DES API
Source avec Zip Source avec une capture COULEUR DANS UN RICHTEXTBOX SANS MODIFIER SELSTART OU SELLEN...
Source avec Zip APPEL DE POINTEUR DE FONCTIONS - API SANS LES DECLARER
Source avec Zip Source avec une capture SABNZBD+ UPLOAD DE FICHIERS NZB

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) FAIRE LA DIFFÉRENCE ENTRE UNE ADRESSE EMAIL QUI EXISTE D'UNE... par lesinfosdugeek
ENVOYER UN MESSAGE SUR SON COMPTE TWITTER par lesinfosdugeek
Source avec Zip Source avec une capture TROUVER LES CLÉS DE REGISTRE QUI CHANGENT par Flocreate
Source avec Zip IP_PUBLIQUE_INTERNETGETCONNECTEDSTATE par marco62118
Source avec Zip TOUTES LES RÉSOLUTIONS D'ÉCRAN ET TAILLE MAXI DE LA FORM AUD... par marco62118

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MOT DE PASS AVEC POSSIBILITÉ DE MULTIUSER par amita
Source avec Zip Source avec une capture TESTER LE NIVEAU DE SÉCURITÉ D'UN MOT DE PASSE par J_il
Source avec Zip RECHERCHE DES INFORMATIONS UTILISATEURS / GROUPES / COMPUTER... par drassef14
Source avec Zip Source avec une capture CISUSERSLEEP - DÉTECTER L'ABSENCE DE L'UTILISATEUR par Egyde
TESTER LA PRESENCE D'UN FICHIER par Nix

Commentaires et avis

Commentaire de Egyde le 24/10/2005 11:41:37

C'est bien vu !

Le seul hic, c'est que GetLastInputInfo ne fait pas la distinction entre saisie clavier et déplacement de la souris ;-) Or, si tu recharges une souris optique dont la base est de mauvaise qualité, il est possible que ton curseur oscille de quelques pixels (je pense en particulier aux souris MemUp, snif). Dans ce cas précis, ton programme détecte toujours une présence. C'est d'ailleurs uniquement pour cette raison que j'ai choisi le point de vue inverse (détection de l'ABSENCE, avec un code un peu plus long mais capable de résoudre cette lacune), vue que je connaissais déjà cette API :

http://www.vbfrance.com/code.aspx?ID=34311

Commentaire de Egyde le 24/10/2005 11:45:30

Je t'ai mis quand même 8, le code est vraiment très simple :-)

Commentaire de Renfield le 24/10/2005 12:14:58 administrateur CS

moi qui n'aime pas les souris optiques, voilà un argument a ajouter à ma plédoirie en défaveur de cette outil malfaisant ^^

(TrackBall Powered)

Commentaire de Tankian33 le 24/10/2005 16:15:02

Qu'est ce qui te gene ds la souris optique ?

Commentaire de Renfield le 24/10/2005 16:50:10 administrateur CS

parfois, elle bouge toute seule, réagis pas toujours bien, galère pour les FPS...

Commentaire de EBArtSoft le 24/10/2005 20:40:06 administrateur CS

Faut instancier un monitoring de base genre branché son peacemaker directement sur la sortie RS232 !

Tu recupere l'activité cardiaque de l'utilisateur en direct c'est quand meme plus fiable. En cas de perte tu affiche une messagebox "Attention rythme faible" !!

lol @+

Commentaire de nah666 le 25/10/2005 09:00:45

lol?
peacemaker ?, faiseur de paix ?

Commentaire de Tankian33 le 25/10/2005 09:18:54

Pas vraiment non ^^ pour le pacemaker

Sinon pour l'optique assez surprenant qd meme, car avec une souris de qualite c vraiment leger ce pb... M'enfin :)

Commentaire de Egyde le 25/10/2005 14:19:08

Tankian33> 1 pixel suffit ;-)

Commentaire de Tankian33 le 26/10/2005 10:29:47

Pour ce code oui :). Je vais jetter un oeil sur le tiens car ca va me servir, celui ci merite tout de meme un bon 8.

Commentaire de adesurmont le 27/11/2006 19:41:55

Je ne comprend pas ça fonctionnait bien et maintenant plus rien, rien ne se passe. Qu'est ce que la source a besoin comme resource pour fonctionner ?

Merci

Commentaire de nadia2k le 22/06/2007 21:38:08

je voudrai voir le code qui permet de tester combien d'utlisateur visiter mon site.le code avec ASP.NET

Commentaire de Renfield le 26/06/2007 08:11:19 administrateur CS

Adesurmont> quel est ton code ?

nadia2K> aucun rapport avec mon code... voir global.asa et autres choses du genre. va sur www.aspfr.com, tu aura bien plus de réponses

Commentaire de flotho le 22/02/2009 16:55:45

Bonjour,

Ce code à l'air terrible par sa simplicité mais je n'arrive pas à le faire tourner sur XP et Microsft visual studio 2008.
La méthode GetLastInputInfo(LII) m'initialise toujours LII.dwd à la valeur 0 que je sois actif ou pas.
Du coup le test me dit que je suis toujours inactif

Qu'ais je pu oublier?

Merci de votre aide

Commentaire de Renfield le 23/02/2009 06:26:39 administrateur CS

dépend de ton code ^^

les déclarations d'APIs sont a adapter en .Net

Long=>Integer, par exemple

Commentaire de flotho le 23/02/2009 11:51:26

Bonjour RENFIELD

Merci de cette réponse express.
En effet lorsque je change le type de données, j'obtiens bien une valeur avec la fonction getlastinputinfo.
Toutefois LII.dwTime est ridiculement petit par rapport au ticketcount. Je reste donc toujours avec un test d'activité incohérent.
Peut être le type n'est il pas le bon.
Concrétement mon code est structuré de la façon suivante :

1 timer de 20 secondes qui appelle la fonction ci dessus telle quelle et teste une inactivité de 5 secondes via vIdleTimeout.
par exemple, je me retrouve avec un getticketcount à | GetTickCount 127612075905189 Long
et LII.dwTime = 7578484 Integer

Je pense que j'ai un problème entre le long et le Integer.
J'ai donc testé en passant mes types à Int64 mais je retombe dans le problème de LII.dwTime = 0. Je remarque toutefois dans ce cas que LII.cbSize reste à 16.

En résumé, je dirais Au secours ;-)
PS : J'ai débranché ma souris optique et je travaille avec un portable.

Commentaire de Renfield le 23/02/2009 11:54:32 administrateur CS

quel est ton code ?

Commentaire de flotho le 23/02/2009 12:00:06

Yipee,

Je viens de trouver.
Quand j'ai voulu copier le code, j'ai vu que ma fonction n'était pas du bon type.
Alors je te remercie grandement.En revanche, comment dois je faire simplement pour éviter les problèmes de souris optique?
Dois je rajouter une fonction qui teste l'ancienne et la nouvelle position? si on a bougé de quelques pixels, le getlastinputinfo en tiendra t il compte?

Commentaire de Renfield le 23/02/2009 12:09:47 administrateur CS

a voir, j'utilises pas de souris optique et ne peux donc tester

Commentaire de flotho le 23/02/2009 12:11:57

Merci encore de tes avis éclairé.

A bientôt,

Commentaire de alexandreillusion le 28/03/2009 18:56:47 10/10

Code vraiment utile, court et efficace (même avec ma souris optique !!!)
Et encore un 10 pour l'auteur et sa disponibilité.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tester la presence d un fichier sur un ftp? [ par pcpunch ] je cherche a tester la presence d un fichier sur un ftp, car j envoie avec inet un fichier sur le ftp mais vb continue le code avant que le fichier so Detecter si un firewall est actif [ par thierrydelepine ] Bonjour,dans un cadre professionnel, je dois installer en automatique pour un deploiment CHECKPOINT VPN.ce produit install des couches reseaux basses tester si utilisateur connecté au reseau [ par sebtralalaetph ] Bonjour à tous, comme dit dans le titre j'aimerai connaitre le moyen de savoir si un utilisateur est connecte a un reseau (serveur citrix).Si quelqu'u detecter le bureau utilisateur [ par surfeur en serie ] slt tt le mondej ai vu sur le site comment trouver un temporraire , comment trouvé le nom d un utilisateur en cours, la question que j ai a poser est detecter presence fichier et ouvrir [ par YORAN49 ] Je cherche à créer un programme mais impossible de trouver comment détecter la présence d'un fichier ( si possible toutes les 10 minutes entre 22h00 e Comment tester la presence de msxml V2.0 [ par globule ] Comment tester la presence de msxml V2.0 detecter la presence d'un firewall actif [ par thierrydelepine ] bonjour,pour un cas particuler j'ai besoin de savoir si un firewall de marque X est en cours de fonctionnement sur un poste afin de prevenir l'utilisa Tester la presence d'un fichier [ par sanaaSooma ] bonjour à tous je manipule du site web avec du vb.net j'ai arrive à recuperer des fichiers depuis un site web. je veux tester la presence d'un fichie Détecter nom utilisateur [ par jacques13 ] Bonjour à tous, Mon appli est appelée à fonctionner sur un réseau (exécutable et données déportés sur le serveur). Pour pouvoir gérer différents nivea ComonDialog [ par Nightcourrier ] bonjour à tous,J'utilise un commondialog pour faire afficher une fénetre pour les parametre de mon imprimante ....Tous va bien ... sauf quand l'utilis


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales