扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
第一个for完成对delay_time参数的控制,即共循环多少次内部循环
目前创新互联已为数千家的企业提供了网站建设、域名、雅安服务器托管、成都网站托管、企业网站设计、荣县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
解决方法:通过timer定时器延时
MessageBox里的Show里没有自动关闭的方法,但是你可以自定义一个MessageBox,MessageBox就是一个窗体,你新建一个窗体Form2,添加一个public属性message和一个定时器timer1,timer1的interval设置成你想要的时间,在Form2的Load事件启动timer1,Timer1_Tick事件里关闭窗口Me.Close(),然后在需要显示Messagebox的时候,在主窗口Form1里设置messge属性,然后用show方法弹出窗口就可以了。
Form1程序:(添加了一个Button1)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Message = "提示"
f2.ShowDialog()
End Sub
End Class
Form2程序:(添加了一个Label1显示信息和一个Timer1用于计时,Form2可以自定义成你想要的样式,标题,按钮,窗体样式等)
Public Class Form2
'自定义属性 显示提示信息
Public WriteOnly Property Message As String
Set(value As String)
Label1.Text = value
End Set
End Property
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.Close()
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval=3000 '定时3秒关闭窗口
Timer1.Enabled = True
End Sub
End Class
代码已在VS2017测试通过。
1、开机进入桌面后,按下“Windows徽标键+I”键,选中并打开“控制面板”
2、在“控制面板”中的“系统和安全”里,选中“管理工具”里的“计划任务”,并打开“计划任务”
3、在“任务计划程序”里,打开“创建任务”
4、在“创建任务”的“常规”中,根据相应需求设置,比如“名称:定时关机”
5、在“创建任务”的“触发器”中,点“新建”,并在“新建触发器”中,根据相应需求设置后,点“确定”
6、在“创建任务”的“操作”中,点“新建”,并在“新建操作”中的“程序或脚本”里,根据下图依次输入“shutdown”和“-s”后,“点“确定”
7、在“创建任务”的“条件”中,根据相应需求设置
8、在“创建任务”的“设置”中,根据相应需求设置后,点“确定”
9、这时“定时关机”的任务已创建完成!
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
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流