【发布时间】:2014-07-11 09:32:22
【问题描述】:
我必须使用 VB.Net 自动执行 Windows 应用程序的重复性任务(无 API)。
我所做的是模拟通常由用户完成的击键。
我正在使用System.Threading,并使用新进程启动应用程序。
我的问题是,这个应用程序在完成任务时会弹出一个消息框,并且这个消息框肯定会禁用主应用程序窗口,所以我需要知道这个消息框何时显示以模拟 ENTER 击键并继续下一个任务。
这是我的代码示例:
Imports System.Threading
Public Class Form1
Dim a As New Process
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
a.StartInfo.FileName = "C:\Program Files (x86)\CE\CE.exe"
a.Start()
AppActivate(a.Id)
For i = 1 To CInt(txt.Text)
DoTask()
Next
End Sub
Private Sub DoTask()
Thread.Sleep(1000)
SendKeys.SendWait("^(N)")
Thread.Sleep(500)
SendKeys.SendWait("{ENTER}")
Thread.Sleep(500)
SendKeys.SendWait("new check")
Thread.Sleep(500)
SendKeys.SendWait("{ENTER}")
Do While True
'Here I want to wait until a message box pops up by the application
'If message box displayed then exit do
Loop
SendKeys.SendWait("{ENTER}")
End Sub
End Class
请帮我解决这个问题。 谢谢
【问题讨论】:
-
为什么这个标签是 C#? C# 解决方案也可以接受吗?
-
是的,这是可以接受的,这就是原因。
标签: vb.net process popup automation