我正在使用VB.Net在Silk4Net中尝试一个简单的代码。我已经自动启动了一个计算器。在键入数字之前,会出现一个消息框。我无法找到自动关闭消息框的方法。我希望能够识别消息框并将其推到后面或完全解除它。
代码如下:
<TestMethod()>
Public Sub TestMethod1()
With _desktop.Window("Calculator")
.SetActive()
generateMsg()
.PushButton("Clear").Select()
.PushButton("3").Select()
.PushButton("5").Select()
End With
End Sub
Public Sub generateMsg()
Thread.Sleep(2000)
With _desktop.Window(MsgBox("Test", MsgBoxStyle.Critical, "Test"))
For Each p As Process In Process.GetProcesses
If p.MainWindowTitle.Contains("Test") Then
p.Kill()
End If
Next
'With .Dialog("Test")
' '.PushButton("OK").Select()
'End With
' .Close()
End With
End Sub
非常感谢任何帮助。感谢。
答案 0 :(得分:-1)
更新回答
你可以为使用SendKeys.SendWait的代码添加一个计时器 - 就像这样 - 为你的测试环境调整一下,因为我不确定Silk4Net tbh
Dim WithEvents timer1 As New System.Timers.Timer
timer1.Interval = 5000
timer1.Enabled = True
MsgBox("Hello. I will go bye-bye in 5 seconds.")
timer1.Enabled = False
作为一个单独的子
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles timer1.Elapsed
SendKeys.SendWait("{ENTER}")
End Sub