Détecter inactivité utilisateur

Le
Antoine Labusquière
Bonjour,

Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé sur la
page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout d'un
certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred
Le #12250771
Dans : news:46690879$0$6066$,
Antoine Labusquière disait :
Bonjour,



Bonjour,

Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé
sur la page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout
d'un certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose...



Et pourquoi pas en javascript ?
On peut rediriger la page avec window.location.href
Reste à voir si on peut intercepter les évènements utilisateur pour
repousser en permanence l'appel de cette instruction
(avec setTimeOut)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Antoine Labusquière
Le #12250671
En fait, on a testé cette solution en javascript, mais on n'est pas
totalement satisfait du résultat (surtout la détection de l'activité de
l'utilisateur).
C'est pour ça qu'on explore d'autres pistes, notamment en vb.

Merci de ton aide

"Fred"
Dans : news:46690879$0$6066$,
Antoine Labusquière disait :
Bonjour,



Bonjour,

Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé
sur la page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout
d'un certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose...



Et pourquoi pas en javascript ?
On peut rediriger la page avec window.location.href
Reste à voir si on peut intercepter les évènements utilisateur pour
repousser en permanence l'appel de cette instruction
(avec setTimeOut)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)


Antoine Labusquière
Le #12250661
Je viens de penser à une autre piste:
Remplacer l'écran de veille par mon exécutable maison, et juste recharger la
page d'accueil d'IE.
D'où ma question, bien plus simple:
Y'a t-il une fonction ou une API pour piloter IE sour VB.net ?

Merci




"Antoine Labusquière" message de news: 46690879$0$6066$
<> Bonjour,

Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé sur la
page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout d'un
certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose...

Merci d'avance




Xavier
Le #12250651
Bonjour, j'ai un bout de code que j'ai trouvé sur le net (je ne sais
plus trop ou, désolé pour l'auteur).

debut code ----------------------------
#Region " Idle User "
'récupère la dernière entée utilisateur
Private Declare Function GetLastInputInfo Lib "User32.dll" (ByRef
lii As LASTINPUTINFO) As Boolean
'mettre en veille l'exécutable
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'utilisé dans l'api GetLastInputInfo
Public Structure LASTINPUTINFO
Public cbSize As Int32
Public dwTime As Int32
End Structure

'récupere l'idle en milliseconds
Public ReadOnly Property IdleTimeInTicks() As Int32

Get

Dim lii As New LASTINPUTINFO

lii.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(lii)

If GetLastInputInfo(lii) Then

Return Environment.TickCount - lii.dwTime

End If

End Get

End Property

'transforme l'idle en seconde
Public ReadOnly Property IdleTimeInSecond() As Double
Get
Return IdleTimeInTicks / 1000
End Get
End Property

'procédure à placer dans le code de ton exe
'juste avant l'instruction pour relancer la page d'accueil
Public Sub WaitForIdle()

Do
If (Me.IdleTimeInSecond < 60 Then 'moins d'une minute
'msgbox(" ATTENTE INACTIVITE UTILISATEUR ")
System.Threading.Thread.Sleep(60000) 'pause d'une
minute
Else
Exit Do
End If
Loop
End Sub
#End Region
fin code ------------------------------


j'espère que cela t'aideras.

++ Xav


Antoine Labusquière a écrit :
Je viens de penser à une autre piste:
Remplacer l'écran de veille par mon exécutable maison, et juste recharger la
page d'accueil d'IE.
D'où ma question, bien plus simple:
Y'a t-il une fonction ou une API pour piloter IE sour VB.net ?

Merci




"Antoine Labusquière" message de news: 46690879$0$6066$
<> Bonjour,
Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé sur la
page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout d'un
certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose...

Merci d'avance








Antoine Labusquière
Le #12250641
Merci, mais finalement, en créant un exe transformé en scr, je m'affranchi
de ce problème de gestion de l'activité de l'utilisateur.
J'avais trouvé ce code aussi, mais je n'ai pas réussi à le faire fonctionner
correctement.


"Xavier"
Bonjour, j'ai un bout de code que j'ai trouvé sur le net (je ne sais plus
trop ou, désolé pour l'auteur).

debut code ----------------------------
#Region " Idle User "
'récupère la dernière entée utilisateur
Private Declare Function GetLastInputInfo Lib "User32.dll" (ByRef lii
As LASTINPUTINFO) As Boolean
'mettre en veille l'exécutable
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'utilisé dans l'api GetLastInputInfo
Public Structure LASTINPUTINFO
Public cbSize As Int32
Public dwTime As Int32
End Structure

'récupere l'idle en milliseconds
Public ReadOnly Property IdleTimeInTicks() As Int32

Get

Dim lii As New LASTINPUTINFO

lii.cbSize =
System.Runtime.InteropServices.Marshal.SizeOf(lii)

If GetLastInputInfo(lii) Then

Return Environment.TickCount - lii.dwTime

End If

End Get

End Property

'transforme l'idle en seconde
Public ReadOnly Property IdleTimeInSecond() As Double
Get
Return IdleTimeInTicks / 1000
End Get
End Property

'procédure à placer dans le code de ton exe
'juste avant l'instruction pour relancer la page d'accueil
Public Sub WaitForIdle()

Do
If (Me.IdleTimeInSecond < 60 Then 'moins d'une minute
'msgbox(" ATTENTE INACTIVITE UTILISATEUR ")
System.Threading.Thread.Sleep(60000) 'pause d'une
minute
Else
Exit Do
End If
Loop
End Sub
#End Region
fin code ------------------------------


j'espère que cela t'aideras.

++ Xav


Antoine Labusquière a écrit :
Je viens de penser à une autre piste:
Remplacer l'écran de veille par mon exécutable maison, et juste recharger
la page d'accueil d'IE.
D'où ma question, bien plus simple:
Y'a t-il une fonction ou une API pour piloter IE sour VB.net ?

Merci




"Antoine Labusquière" le message de news: 46690879$0$6066$
<> Bonjour,
Nous devons mettre en place des bornes d'accès internet pour un salon.
Windows est totalement verrouillé, seul internet explorer est lancé sur
la page d'accueil sur salon.
L'idée serait de relancer automatiquement la page d'accueil au bout d'un
certain délai d'inactivité de l'utilisateur (souris/clavier).
J'ai trouvé des bouts de code, mais rien ne fonctionnait correctement.
L'idéal serait de lancer ce code comme un service je suppose...

Merci d'avance









Publicité
Poster une réponse
Anonyme