Déclencher une action au bout d'un certain temps d'inactivité de la souris

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 647 fois - Téléchargée 29 fois

Contenu du snippet

Ce petit code permet de déclancher une action (style écran de veille, ou autre ...) au bout d'un certain temps d'inactivité de la souris sur la form

Source / Exemple :


'Un timer1, enabled = True, interval = 1000.

    Dim sec As Byte

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
        sec = 0 'Quand la souris bouge, on remet sec à 0
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        sec = sec + 1 'Toute les seconde,sec = sec + 1
        If sec = 30 Then 'Entrez le temps d'inactivité (en secondes), pour le déclenchemnt
            MsgBox("Cela fait 30 secondes que vous n'avez pas bougé la souris") 'Ce qui doit ce passer
        End If
    End Sub

'Code programmé avec vb.net, mais fonctionnant pour vb6

A voir également

Ajouter un commentaire

Commentaires

OneHacker
Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1 -
Re salut et1 ! Décidement (mort de rires) ! Je te met 9/10. Car tu m'a donné une piste ! He He j'en profite !

Bonne continuation !
NHenry
Messages postés
14590
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 novembre 2019
136 -
Tu peux utiliser l'api GetMousePos.
Neo.balastik
Messages postés
797
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
4 -
Donc ton exemple est trop restrictif et ne peut convenir, car j'ai rarement vu un programme n'ayant aucun contrôle sur un formulaire ;O)

Pour réussir cela, il faut s'affranchir de l'événement Mouse_Move du formulaire.
cs_et1
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
7 -
Je sais que si l'on survole un autre contrôle, ça ne fonctionnera pas, c'est pourquoi j'ai bien mis "...souris sur la form"
Mais je ne sais pas comment faire ça autrement.
Neo.balastik
Messages postés
797
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
4 -
Ce programme ne peut pas fonctionner correctement en VB6 ! Sache que l'événement MouseMove du formulaire ne sera pas déclenché si le souris survole un un contrôle inclus dans le formulaire. Un simple exemple : crée un formulaire, intègre une picturebox assez large et ce code :

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Caption = X & " - " & Y
End Sub

Tu remarqueras que lorsque tu survoles le formulaire sans survoler le pictuebox, la captionbar du formulaire affiche bien les coordonnées X et Y de la souris, mais lorsque la souris survole la picturebox, l'événement MouseMove du formulaire n'est pas déclenché...
Tu me diras qu'il suffirait de faire de même pour l'événement MouseMove de la picturebox, mais que je sache un formulaire contient très souvent de nombreux contrôles... Alors galère ! Cette façon de faire est trop simplissime pour VB6 et ne fonctionnera pas. Je ne sais pas ce qu'il en est pour VB.NET...

Guy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.