占cpu历害怎么改善一下(已解决)
本帖最后由 xymc 于 2011-10-23 14:06 编辑While 1
Sleep(500)
Local $Inbaidu=False
$oShell=ObjCreate('Shell.Application')
For $oWindow In $oShell.Windows
If StringInStr($oWindow.LocationURL,'baidu.com') Then
$Inbaidu=True
ExitLoop
EndIf
Next
If $Inbaidu=True Then
ExitLoop
EndIf
WEnd
这样可以吗?Sleep(500),延迟这个值设多大合适点又不会失败???
还有以下这个,哪一个会好点???
While 1
Sleep(1000)
$oShell = ObjCreate('shell.application')
$oShellWindows = $oShell.windows
For $Window In $oShellWindows
If StringRight($Window.FullName, 12) = 'iexplore.exe' Then
If $Window.locationurl='http://www.baidu.com/' Or $Window.locationurl='http://www.baidu.com' Then Exit
EndIf
Next
WEnd
以上2个代码都会偶尔出现这个错误。
http://123.zhntwb.com/da.jpg 没明白你代码的意思!
#include <IE.au3>
$oIE = _IECreate ("www.baidu.com", 1)
_IELoadWait ($oIE)
MsgBox(0, '', '加载完成') 加个sleep(500) 本帖最后由 xymc 于 2011-10-16 19:42 编辑
回复 2# 水木子
我想检测到百度后就退出,明白了吗?
等待百度网页窗口的出现,如果出现了就退出 用3楼的方法试试 回复 3# kevinch
在哪里加延迟? 回复 6# xymc
for 循环里加,不要加到if里面去了 本帖最后由 xymc 于 2011-10-17 00:43 编辑
回复 7# xwt620
While 1
Sleep(500)
Local $Inbaidu=False
$oShell=ObjCreate('Shell.Application')
For $oWindow In $oShell.Windows
If StringInStr($oWindow.LocationURL,'baidu.com') Then
$Inbaidu=True
ExitLoop
EndIf
Next
If $Inbaidu=True Then
ExitLoop
EndIf
WEnd
这样可以吗?Sleep(500),延迟这个值设多大合适点又不会失败???
还有以下这个,哪一个会好点???
While 1
Sleep(1000)
$oShell = ObjCreate('shell.application')
$oShellWindows = $oShell.windows
For $Window In $oShellWindows
If StringRight($Window.FullName, 12) = 'iexplore.exe' Then
If $Window.locationurl='http://www.baidu.com/' Or $Window.locationurl='http://www.baidu.com' Then Exit
EndIf
Next
WEnd 回复 8# xymc
一般10毫秒都可以解决CPU暂用的问题,除非是机器配置比较差才用100毫秒以上的延时
如果延时太久也容易造成机器反应迟钝的问题。 回复 6# xymc
加在Wend前面 回复 8# xymc
sleep(100)就差不多了 你这样的循环 肯定占用很高了 回复 10# kevinch
加在Wend前面跟我的加在一开始有什么区别? 某些确实暂用高啊
页:
[1]