vb循环语句导致类似死机的状态,用do loop写的,为什么

vb循环语句导致类似死机的状态,用do loop写的,为什么,第1张

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有什么办法可以让电脑死机吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9678319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存