Threading.Thread.Sleep(500)這句是線程停止等待的,在這500毫秒的時間里你的任何動作都是不響應的,理論上再SendKeys.Send(TextBox2.Text)這段時間內你可以動作,但是send是毫秒級完成的,你還沒有來得及響應就進入了下一次的循環(huán),所以跟卡死類似
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供寧國企業(yè)網站建設,專注與成都做網站、網站設計、H5頁面制作、小程序制作等業(yè)務。10年已為寧國眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網站建設公司優(yōu)惠進行中。
解決方法:通過timer定時器延時
第一個for完成對delay_time參數(shù)的控制,即共循環(huán)多少次內部循環(huán)
第二個for(內部循環(huán)),完成對j從0到199的控制,共循環(huán)200次。
翻譯成匯編就是:
(R0為傳遞參數(shù))
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控件去實現(xiàn)
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