
14/12/2005, 10:48
|
 | | | Fecha de Ingreso: septiembre-2005 Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 19 años, 7 meses Puntos: 1 | |
Proba asi:
Código:
' En un Modulo:
Public Const NV_CLOSEMSGBOX As Long = &H5000&
Public Declare Function SetTimer& Lib "user32" (ByVal hWnd&, ByVal nIDEvent&, _
ByVal uElapse&, ByVal lpTimerFunc&)
Public Declare Function FindWindow& Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Public Declare Function LockWindowUpdate& Lib "user32" (ByVal hwndLock&)
Public Declare Function SetForegroundWindow& Lib "user32" (ByVal hWnd&)
Public Declare Function MessageBox& Lib "user32" Alias "MessageBoxA" _
(ByVal hWnd&, ByVal lpText$, ByVal lpCaption$, ByVal wType&)
Public Declare Function KillTimer& Lib "user32" (ByVal hWnd&, ByVal nIDEvent&)
Public Const API_FALSE As Long = 0&
Public Sub TimerProc(ByVal hWnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
KillTimer hWnd, idEvent
Dim hMessageBox&
hMessageBox = FindWindow("#32770", "AutoCerrado")
If hMessageBox Then
Call SetForegroundWindow(hMessageBox)
SendKeys "{enter}"
End If
Call LockWindowUpdate(API_FALSE)
End Sub
' En un boton del Form
Private Sub Command1_Click()
'Sustituye 4000 por el nº de milisegundos que quieres que el mensaje aparezca
'1000 milisegundos=1 segundo
SetTimer hWnd, NV_CLOSEMSGBOX, 4000&, AddressOf TimerProc
Call MessageBox(hWnd, "Este mensaje desaparecerá en 4 segundos", _
"AutoCerrado", MB_ICONQUESTION Or MB_TASKMODAL)
End Sub
Creditos a Alexander Mendez, podes descargar el proyecto aqui (clic derecho al vinculo y en el menu selecciona Guardar destino como)
Saludos
Última edición por jc_moty; 14/12/2005 a las 11:18 |