Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.203.149] |
|
Сообщ.
#1
,
|
|
|
Это в форму
Private Sub Form_Load() Dim Sec As Long Sec = 4000 ‘ время через которое надо закрыть Msgbox Call SetTimer(hWnd, NV_CLOSEMSGBOX, Sec, AddressOf TimerProc) MsgBox ("Этот Msgbox закроется через ” & Sec / 1000 & “ секунды"), vbCritical, MsgBoXCaption End Sub А это в модуль 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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long Public Const NV_CLOSEMSGBOX As Long = &H5000& Public Const MsgBoXCaption = "Msg" ‘ это заголовок Msgbox’a Public Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) Call KillTimer(hWnd, idEvent) Select Case idEvent Case NV_CLOSEMSGBOX Dim hMessageBox As Long hMessageBox = FindWindow("#32770", MsgBoXCaption) If hMessageBox Then Call SetForegroundWindow(hMessageBox) SendKeys "{enter}" End If End Select End Sub |