在程序中加了If GetInputState() Then DoEvents ,循环速度快了很多,但是出现了死机情况:当我点击其他软件时会出现死,而点击当前软件的其他按钮时正常,为什么?也就是说,电脑中只要该程序运行时,鼠标就不能离开程序,否则会死机。 For lngGsIndex = 0 To lngAllGs - 1
......
If GetInputState Then
DoEvents
If blnStop Then GoTo FASTEXIT
End If
......
Next 'lngGsIndex
......
If GetInputState Then
DoEvents
If blnStop Then GoTo FASTEXIT
End If
......
Next 'lngGsIndex
windowsXp是个抢先多任务系统,不可能出现一个普通级别的进程抢占所有CPU而造成死机的可能。另外你这个代码要是想节约CPU,这个代码也不对:看看我给出的代码吧:http://topic.csdn.net/u/20080529/00/573e70c3-e6c5-43be-86da-8654e8fb841b.html这里面的58楼
......
WaitTime(100)'不是这样引用啊
If blnStop Then GoTo FASTEXIT
......
Next 'lngGsIndex
我是用true_guowei 提供的方法写的,比sleep(100)好。经我测试,加什么代码都解决不了CPU高的问题,而且放进去后运行速度反而变慢了!经一位有双核的网友检测,程序运行一样是高CPU,同时使用其他软件时一样造成程序死掉。原因可能是我写的代码有问题:运算量大、循环太多、字符串操作多?如果是这样的情况如何才能找到病因呢?