I developed a CBT project which required the user to read large amountsof text. I wanted to prompt the user to take a break after a period oftime. The problem with the VB timer is that it lasts just over a minute.I used the API function GetCurrentTime(), which records the millisecondssince Windows was started. Place a Timer control on the form that starts the application (makesure that this form remains loaded throughout the application). Place thiscode in the Declarations section of the form:
Dim Start&, Elapsed&Declare Function GetCurrentTime& Lib "User" ()
The Form_Load event of this form must also contain this code:
Start = GetCurrentTime
This routine sets the Timer interval to about a minute.
Sub Timer1_Timer () Dim MsgText$ Elapsed = GetCurrentTime() ' if 10 minutes has elapsed since ' the program was started ' or the last msgbox was displayed If Elapsed - Start >= 600000 Then ' 10 minutes MsgText = "Give your eyes a rest. _ Take a 5 minute break." MsgBox MsgText, 16, "Take A Break" ' however long the msgbox is on the screen ' the timer is effectively set to 0 when the ' user presses OK Elapsed = GetCurrentTime() Start = Elapsed Elapsed = 0 End IfEnd Sub