1

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

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

-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
于 2016-02-17T10:26:37.983 に答える