VB中 doloop 循环本身没有结束循环条件,无论循环中代码执行何种运算,只要没有语法错误,它就一直执行,如果它的执行速度过高,则会一直占用CPU,导致死机等系统问题;
对 do loop的应用,需要在循环内部添加结束循环的条件语句,除此之外,还需要为循环设置一定间隔时间,比如使用延时类“ delay 500 ”之类语句;保证CPU有足够响应时间,如果用户需要高速执行某些代码,添加代码 delay 1(也就是延时1毫秒(1毫秒=1/1000秒)),比未添加的效果要更好。
可以换个思路想象
windows本身访问共享文件夹很慢
可以先ping要访问的所有机器 然后返回在线的主机
最后根据在线的主机检查配置 这样可用节省时间
我使用WMI脚本进行ping 你自己修改下
Private Sub Command1_Click()
strMachines = "机器名或IP 用;分割"
aMachines = Split(strMachines, ";")'也可以直接建立一个数组保存所有要检查的主机IP或机器名
For Each machine In aMachines
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")ExecQuery("select from Win32_PingStatus where address = '" & machine & "'")
For Each objStatus In objPing
If IsNull(objStatusStatusCode) Or objStatusStatusCode <> 0 Then
DebugPrint "machine " & machine & " is not reachable" '如果不通
Else
DebugPrint machine & machine & " is online" ' 如果机器在线 可以建立一个在线机器的数组
End If
Next
Next
End Sub
前提是你局域网计算机没开防火墙或准需ping
我已前作过,不用死机,直接封杀屏幕。原来的设计就这么几点:
1、程序屏幕最大化,而且始终在最前面(调用API很好解决)
2、关闭任务管理器(这可以有)
3、关闭组合键(包括atl+f4 atl+esc)
3、如果需要的话,在来一个定时关机。
至于说正的死机的话,我到是有一个批处理的蓝屏文件,但没试过(因为电脑是我嘀,我不敢。忘了,还有一个硬盘炸d)
以上就是关于vb循环语句导致类似死机的状态,用do loop写的,为什么全部的内容,包括:vb循环语句导致类似死机的状态,用do loop写的,为什么、VB运行循环时程序好像死掉,如何解决、用vb有什么办法可以让电脑死机吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)