Tengo este codigo :
Código
Option Explicit Private Declare Function GetQueueStatus Lib "user32" (ByVal fuFlags As Long) As Long Private Const QS_KEY = &H1 Private Const QS_MOUSEMOVE = &H2 Private Const QS_MOUSEBUTTON = &H4 Private Const QS_MOUSE = (QS_MOUSEMOVE Or QS_MOUSEBUTTON) Private Const QS_INPUT = (QS_MOUSE Or QS_KEY) Public bCancel As Boolean Public Sub Inactividad(ByVal TimeOut_InSec As Long) Dim t As Long t = Timer Do While bCancel = False If GetQueueStatus(QS_INPUT) Then t = Timer DoEvents End If If Timer - t >= TimeOut_InSec Then Exit Do Loop If bCancel = False Then Shell ("notepad.exe") End Sub Private Sub Command1_Click() On Error GoTo asd Label2.Caption = "Tiempo de inactividad" & " " & Text1.Text & " " & "Segundos." Call Inactividad(Text1.Text) Exit Sub asd: Label2.Caption = "Error, Pone Los Segundos ^^" MsgBox "No pusiste la cantidad de segundos ;)" End Sub Private Sub Command2_Click() MsgBox "En La V2 ^^" MsgBox "Creado Por Nicolas Petrocco" End Sub Private Sub Command3_Click() Form2.Show End Sub Private Sub Form_Load() Me.Show End Sub Private Sub Form_Unload(Cancel As Integer) bCancel = True End Sub
Lo q hace es abrir el notepad a los 2 segundos de inactividad.
El problema: Es considerado inactivo cuando NO SE PASA EL MAUS SOBRE EL FORM!
pero osea, si yo estoy navegando y lo configuro para q alos 2 segundos se abra el notepad, tengo q pasar el maus constantemente sobre el form... yo considero "Inactiva la pc" cuando EL MAUS ESTA COMPLETAMENTE QUIETO! (No cuando no lo paso sobre el form)
Como lo puedo solucionar?