Place this code in a project with a textbox with multiline property ='ing True
[green]'In a module
[/green][blue]Public Declare Function [/blue]SetTimer [blue]Lib [/blue]"user32" ([blue]ByVal [/blue]hWnd [blue]As Long[/blue], [blue]ByVal [/blue]nIDEvent [blue]As Long[/blue], [blue]ByVal [/blue]uElapse [blue]As Long[/blue], ByVal lpTimerFunc [blue]As [/blue]Long) As Long
[blue]Public Declare Function [/blue]KillTimer [blue]Lib [/blue]"user32" ([blue]ByVal [/blue]hWnd [blue]As Long[/blue], ByVal nIDEvent [blue]As Long[/blue]) As Long
[green]'ontop api
[/green][blue]Public Declare Function [/blue]SetWindowPos [blue]Lib [/blue]"user32" ([blue]ByVal [/blue]hWnd [blue]As Long[/blue], ByVal hWndInsertAfter [blue]As Long[/blue], [blue]ByVal [/blue]x [blue]As Long[/blue], y, [blue]ByVal [/blue]cx [blue]As Long[/blue], ByVal cy [blue]As Long[/blue], ByVal wFlags As Long) As Long
[green]'api constants
[/green][blue]Public Const [/blue]HWND_TOPMOST = -1
[blue]Public Const [/blue]HWND_NOTOPMOST = -2
[blue]Public Const [/blue]SWP_NOMOVE = &H2
[blue]Public Const [/blue]SWP_NOSIZE = &H1
[blue]Public Const [/blue]SWP_NOACTIVATE = &H10
[blue]Public Const [/blue]SWP_SHOWWINDOW = &H40
[blue]Public Const [/blue]TOPMOST_FLAGS = SWP_NOMOVE [blue]Or [/blue]SWP_NOSIZE
[blue]Public Sub [/blue]TimerProc([blue]ByVal [/blue]hWnd [blue]As Long[/blue], [blue]ByVal [/blue]nIDEvent [blue]As Long[/blue], [blue]ByVal [/blue]uElapse [blue]As Long[/blue], [blue]ByVal [/blue]lpTimerFunc [blue]As Long[/blue])
[blue]With [/blue]Form1.Text1
.Text = .Text & "Fired" & Now & vbCrLf
[blue]End With
End Sub
[/blue][green]'Form
[/green][blue]Option Explicit
Private Sub [/blue]Form_Load()
[blue]Dim [/blue]a [blue]As Long
[/blue]a = SetTimer(Me.hWnd, 0, 1000, [blue]AddressOf [/blue]TimerProc)
Text1.Text = a
[blue]End Sub
Private Sub [/blue]Form_Unload(Cancel [blue]As Integer[/blue])
[green]'Kill our API-timer
[/green]KillTimer Me.hWnd, 0
[blue]End Sub
[/blue]
