JLRodgers Level: Moderator
 Registered: 04-04-2002 Posts: 1617
|
Re: VB app. idle time
well... if you haven't done anything yet...
there is also a hook that is activated if the application is idle (not the computer, just the application)... it'd be a bit complex to keep track of it , but the general format is (other hooks are similar):
' Module
Public Const WH_CALLWNDPROC = 4
Public Const WH_CBT = 5
Public Const WH_DEBUG = 9
Public Const WH_FOREGROUNDIDLE = 11
Public Const WH_GETMESSAGE = 3
Public Const WH_HARDWARE = 8
Public Const WH_JOURNALPLAYBACK = 1
Public Const WH_JOURNALRECORD = 0
Public Const WH_KEYBOARD = 2
Public Const WH_MAX = 11
Public Const WH_MIN = (-1)
Public Const WH_MOUSE = 7
Public Const WH_MSGFILTER = (-1)
Public Const WH_SHELL = 10
Public Const WH_SYSMSGFILTER = 6
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
public hIdleHook as long
Public Function IdleProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print idHook
If idHook >= 0 Then
' Application's at idle state (not doing anything)
Debug.Print wParam & " - " & lParam
Debug.Print "Idle State"
End If
' Call next hook
IdleProc = CallNextHookEx(hIdleHook, idHook, wParam, lParam)
End Function
'Form
Private Sub Form_Load()
hIdleHook = SetWindowsHookEx(WH_FOREGROUNDIDLE, AddressOf IdleProc, App.hInstance, App.ThreadID)
End Sub
Private Sub Form_Unload()
UnhookWindowsHookEx hIdleHook
End Sub
|
____________________________
Everywhere's Local (classifieds, job postings, & more for everycity in the world - user entered)
|