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?





Autor


En línea






