*Main.prg *-------------------------------------------------------------------------------------------------------* * Create the ShutDown Timer *-------------------------------------------------------------------------------------------------------* SET LIBRARY TO idle.fll addi InstallHooks(.t.) public g_oIdleTimer g_oIdleTimer = createobject("CheckIdleTime") ... ... ******************************************************************************** * Shut Down Timer Class ******************************************************************************** define class CheckIdleTime as timer Enabled = .t. Interval = 10000 && CHECK EVERY 10 seconds procedure Timer LOCAL lnMSecs,lcMSecs,lnLen,lcResults lcResults=GetCurrentTime1() - GetHookTime1() lcMSecs=GetCurrentTime1() - GetHookTime1() lnMSecs=MTON(lcMSecs) IF gnMaxSecs > 0 IF lnMSecs > gnMaxSecs IF FILE('c:\dev.cqi') oToolbar.command4.click ELSE ******************************************************************************* * Record Automatic ShutDown Time ******************************************************************************* lcMess=[Auto System Shutdown] TEXT TO lcCmd noShow INSERT INTO ct_errLog (ErrorMessage,UserName) VALUES (?lcMess,?gcUser) ENDTEXT IF SQLEXEC(gnConnHandle,lcCmd)<1 =SQLERROR(program(),program(),transform(lineno())) ENDIF ******************************************************************************* * Record logout time for user ******************************************************************************* ltNow=DATETIME() TEXT TO lcCmd noShow UPDATE userLogins set LogOutTime=?ltNow WHERE UserLogins=?gnUserLogins ENDTEXT IF SQLEXEC(gnConnHandle,lcCmd)<1 =sqlerror() ENDIF QUIT ENDIF ENDIF ENDIF ENDPROC ENDDEFINE