'Функции работы с таймером
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, _
		ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

'Глобальная информация
Public Counter As Long	'Счетчик числа вызовов Callback функции
Public IdEv As Long

Public Sub HowManyProc(ByVal HandleW As Long, ByVal msg As Long, _
			ByVal idEvent As Long, ByVal TimeSys As Long)
		'Функция обратного вызова. Вызывается при обработке сообщения WM_Timer,
		'посылаемого таймером, созданным процедурой SetTimer
		
		Counter = Counter + 1
		Debug.Print "Hi", Counter
		
	End Sub

Public Sub Start()
		
		'Создает таймер, вызывая Win32 Api функцию SetTimer
		Counter = 0
		IdEv = SetTimer(0&, 0&, 10000, AddressOf HowManyProc)
		If IdEv = 0 Then
			MsgBox ("Не удалось создать таймер!")
		Else
			Debug.Print "Создан Таймер: Идентификатор = ", IdEv
		End If
 
End Sub

Public Sub Finish()
		'Удаляет таймер
		If IdEv > 0 Then
			Call KillTimer(0&, IdEv)
			Debug.Print "Удален Таймер: Идентификатор = ", IdEv
			IdEv = 0
		End If
		
End Sub

Пример 6.11.
Закрыть окно