VB-Ermitteln Idle-Zeit
Ich bin auf der Suche nach einem Weg, um festzustellen, ob der Benutzer im Leerlauf für 5 min dann etwas tun, und wenn er zurück kommt, die Sache zu stoppen, zum Beispiel ein timer.
Dies ist, was ich versucht habe (dies wird aber nur erkennen, wenn form1 wurde inaktiv /nicht geklickt oder nichts):
Public Class Form1
Private Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'You should have already set the interval in the designer...
Timer1.Start()
End Sub
Private Sub form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
Timer1.Stop()
Timer1.Start()
End Sub
Private Sub form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Timer1.Stop()
Timer1.Start()
End Sub
Private Sub form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
Timer1.Stop()
Timer1.Start()
End Sub
Private Sub Timer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
MsgBox("Been idle for to long") 'I just have the program exiting, though you could have it do whatever you want.
End Sub
End Class
Ihr Ziel ist zu erkennen, Tastatur/Maus-Aktivität außerhalb der Anwendung?
Ja, ein bisschen, und wenn keine Aktivität erkannt wird, dann führen Sie einen Befehl // code
Ja, ein bisschen, und wenn keine Aktivität erkannt wird, dann führen Sie einen Befehl // code
InformationsquelleAutor Johannes Falk | 2012-09-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies geschieht am einfachsten durch Umsetzung der IMessageFilter-Schnittstelle in Ihrem Haupt-form. Es lässt Sie schnuppern am Eingang von Nachrichten, bevor Sie versendet werden. Starten Sie einen timer, wenn Sie sehen die Benutzer die Bedienung der Maus oder der Tastatur.
Drop ein timer auf dem Haupt-Formular, und legen Sie die Interval-Eigenschaft auf den timeout. Start mit 2000, so können Sie sehen, es funktioniert. Dann den code in deiner main-form wie folgt Aussehen:
Sie haben können, um code, der deaktiviert den timer vorübergehend, wenn Sie die Anzeige einer modalen Dialogen, die nicht umgesetzt werden .NET-code.
InformationsquelleAutor Hans Passant