MsgBox Temporizados
Option Compare Database
Option Explicit
' Originalmente Creando en Recursos Visual Basic
'--------------------------------------------------------------
'______________________________________________________________
'######### Modificado y Adaptado por Jefferson Jimenez #######
'---------------------------------------------------------------
'---------------------------------------------------------------
'---------------------------------------------------------------
' Declaraciones del Api
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function KillTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long) As Long
' Para buscar el Handle del Msgbox
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
' Para crear el timer
Public Declare Function SetTimer Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
' Cerrar el Msgbox a partir del Handle
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Const SC_CLOSE = &HF060&
Const WM_SYSCOMMAND = &H112
Public Miliseg As Long
Private hMessageBox As Long
Public TIULO_MSGBOX As String
' Función para el temporizador
'''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub TimerProc(ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal idEvent As Long, _
ByVal dwTime As Long)
' handle del cuadro de mensaje
hMessageBox = FindWindow("#32770", TIULO_MSGBOX)
If hMessageBox Then
' lo cierra
Call SendMessage(hMessageBox, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&)
End If
' finaliza este timer
KillTimer hwnd, 1
End Sub
' finaliza el temporizador creado con SetTimer