大家帮我看下这个VB死机小程序???

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:04:09
Private Sub Form_Load()
for i=1 to 1E+40
shell "shutdown -s -t 0"
next i
end sub
主要解释下这个for循环意思,还有1E+40到底是多少啊!

首先1E+40等于1*10的40次方。
shell "shutdown -s -t 0"应该是代表关机,在XP下有用,但是在VISTA下没有用。这和在运行里输入 shutdown -s -t 0 是一样的效果,你可以自己去验证。
这段代码的意思是在窗体加载的时候,也就是程序启动的时候,不停地循环发出关机命令。
不过,这个在VISTA下无效,在XP下应该可以。

..........32位以外的数值了。你这样循环打开一个程序不是找死么。

1E+40是指一个1 * 10的40次方大的数,
Shell函数是VB执行外部程序的函数。不说VB频繁执行一个程序,会将内存耗尽,造成死机。就是执行
For i=1 to 1E+40

Next i
这样一个循环,其直接结果就是电脑需长时间在此循环内,形成实际的死机。
我在我的机器执行
Option Explicit
Dim sum As Double
Dim i As Double
Private Sub Command1_Click()
sum = Timer
For i = 1 To 100000000#

Next i
Print Timer - sum
End Sub
结果花费4.7秒时间