Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
成都创新互联公司是一家专业提供宁国企业网站建设,专注与成都做网站、网站设计、H5页面制作、小程序制作等业务。10年已为宁国众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
解决方法:通过timer定时器延时
第一个for完成对delay_time参数的控制,即共循环多少次内部循环
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Dim b As Boolean = My.Computer.Network.Ping("192.168.1.1", 1000) '返回ping结果,true表示通,false表示不通,1000表示1000毫秒内返回结果
If b = True Then '指定时间内ping通
Shell("cmd /c ping 192.168.1.1 C:\time.txt") '在C盘time.txt文件中保存ping的结果
Else '超时
MsgBox("999") '弹出999提示
End If
学习一下后台线程,
看一下3个timer类,
实在想简单,就在UI线程里用timer控件去实现
Imports System.Threading
Thread.Sleep(1000)’延迟1秒
2.PauseWait(1000)’延迟1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tick + HowLong My.Computer.Clock.TickCount
End Sub