三秒后
  SendKeys "{Y}"

解决方案 »

  1.   

    方法1:自己做一个 mdi 窗口,样子做成msgbox就行,容易控制。方法2:发消息 “Y”到msgbox 详情见:
    http://www.csdn.net/expert/topic/638/638174.xml?temp=.8085291
      

  2.   

    用个定时器
    timer1.interval=3000
    msgbox "..."private sub timer1_timer()
       timer1.interval=0
       '根据CAPTION查找你刚才弹出的MSGBOX的句柄
       ’发送WM_CLOSE的消息
    end sub
      

  3.   

    1.用一个form自己做一个样子像msgbox的窗口,好控制嘛。
    2.sendkeys  详情见:
    http://www.csdn.net/expert/topic/638/638174.xml?temp=.7030298
      

  4.   

    不用这么麻烦吧?
    首先,在窗体上放一个Timer控件,将InterVal设置为3000,Enabled=False
    引用以下API
    Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    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
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long在窗体上放一个CommangButton
    Private Sub Command1_Click()
     Timer1.Enabled = True
     MessageBox 0, "你会给我分数吗?", "TEST", vbYesNo Or vbQuestion
    End Sub在Timer事件中写Private Sub Timer1_Timer()
    Dim I As Long
    I = FindWindow("#32770", "TEST")
    If I Then
      I = FindWindowEx(I, 0, "Button", "是(&Y)")
      If I Then
        SendMessage I, &HF5, 0, 0
      End If
    End If
    End Sub
    这一切不就都好了吗?