here's a simple example:

vb Code:
  1. Public Class Form1
  2.  
  3.     Private Declare Sub keybd_event Lib "user32" _
  4.                       (ByVal bVk As Byte, _
  5.                        ByVal bScan As Byte, _
  6.                        ByVal dwFlags As Byte, _
  7.                        ByVal dwExtraInfo As Byte)
  8.  
  9.     Private Const VK_RETURN As Byte = &HD
  10.     Private Const KEYEVENTF_KEYDOWN As Byte = &H0
  11.     Private Const KEYEVENTF_KEYUP As Byte = &H2
  12.  
  13.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  14.         Dim t As New Threading.Thread(AddressOf closeMsgbox)
  15.         t.Start(10) '10 second delay
  16.         MsgBox("message")
  17.     End Sub
  18.  
  19.     Private Sub closeMsgbox(ByVal delay As Object)
  20.         Threading.Thread.Sleep(CInt(delay) * 1000)
  21.         AppActivate(Me.Text)
  22.         keybd_event(VK_RETURN, 0, KEYEVENTF_KEYDOWN, 0)
  23.         keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0)
  24.     End Sub
  25.  
  26. End Class