谢谢pupo(泡泡),原来是我忘了加默认按钮选项了。
可是你的代码中:
If MsgBox("Retry or Cancel?", vbRetryCancel + vbDefaultButton1, "自动关闭") = vbRetry Then
MsgBox("Retry!")
Else
MsgBox("Cancel")
End If
Public Declare Function KillTimer Lib "user32" Alias "KillTimer" (ByVal hwnd As Integer, ByVal nIDEvent As Integer) As Integer
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer
Public Declare Function SetTimer Lib "user32" Alias "SetTimer" (ByVal hWnd As Integer, ByVal nIDEvent As Integer, ByVal uElapse As Integer, ByVal lpTimerFunc As TimerProcHandler) As Integer
Public Const NV_CLOSEMSGBOX As Integer = &H5000
Public Delegate Sub TimerProcHandler(ByVal hWnd As Integer, ByVal uMsg As Integer, ByVal idEvent As Integer, ByVal dwTime As Integer)
Public Sub TimerProc(ByVal hWnd As Integer, ByVal uMsg As Integer, ByVal idEvent As Integer, ByVal dwTime As Integer)
KillTimer(hWnd, idEvent)
Select Case idEvent
Case NV_CLOSEMSGBOX
Dim hMessageBox As Integer
hMessageBox = FindWindow("#32770", "自动关闭")
If hMessageBox Then
Call SetForegroundWindow(hMessageBox)
SendKeys.Send("{enter}")
End If
End Select
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
SetTimer(Me.Handle.ToInt32, NV_CLOSEMSGBOX, 4000, AddressOf TimerProc)
If MsgBox("Retry or Cancel?", vbRetryCancel + vbDefaultButton1, "自动关闭") = vbRetry Then
MsgBox("Retry!")
Else
MsgBox("Cancel")
End If