求教:怎样让程序在占用CPU较少的情况下一直运行
本帖最后由 howacter 于 2010-1-11 02:05 编辑今天写了个半自动保存网页图片的脚本,用的while()无限循环,
但这样CPU 使用率高达50%,不知怎么解决。$HotKey="f"
$choose=MsgBox(4,'热键确定','默认的热键是 f 键,若想改变则按否')
If $choose=7 Then
$HotKey=InputBox("热键确定","请输入你喜欢的热键","f")
EndIf
HotKeySet($HotKey,"toggle")
$toggle=0
While 1
If $toggle Then
MouseClick("right")
Send("s")
Send("!s")
If WinWaitActive("保存图片","已存在",1) Then
Send("{enter}")
Send(Random(0,500,1))
Send("!s")
EndIf
$toggle=Not $toggle
EndIf
WEnd
Func toggle()
$toggle=Not $toggle
EndFunc
$HotKey = "f"
$choose = MsgBox(4, '热键确定', '默认的热键是 f 键,若想改变则按否')
If $choose = 7 Then
$HotKey = InputBox("热键确定", "请输入你喜欢的热键", "f")
EndIf
HotKeySet($HotKey, "toggle")
$toggle = 0
While 1
If $toggle Then
MouseClick("right")
Send("s")
Send("!s")
If WinWaitActive("保存图片", "已存在", 1) Then
Send("{enter}")
Send(Random(0, 500, 1))
Send("!s")
EndIf
$toggle = Not $toggle
EndIf
Sleep(1)
WEnd
Func toggle()
$toggle = Not $toggle
EndFunc ;==>toggle 昨天看了下教程,基本解决了这个问题。
$HotKey="f"
$name=0
$choose=MsgBox(4,'热键确定','默认的热键是 f 键,若想改变则按否')
If $choose=7 Then
$HotKey=InputBox("热键确定","请输入你喜欢的热键","f")
EndIf
HotKeySet($HotKey,"SavePic")
$toggle=False
While 1
Sleep(100)
WEnd
Func SavePic()
$toggle=Not $toggle
While $toggle
MouseClick("right")
Send("s")
WinWaitActive("保存图片","保存在")
Send("!s")
If WinWaitActive("保存图片","已存在",1) Then
Send("{enter}")
$name+=1
Send($name)
Send("!s")
EndIf
$toggle=Not $toggle
WEnd
EndFunc
回复 3# howacter
如2#所示,加个sleep()就OK了 回复 4# afan
我试了下,确实可以,CPU使用率只有1%左右,谢谢2#和4#对该问题的关注。 问个我不清楚的简单问题,希望各位莫怪。请问怎么改变帖子的分类,将帖子从【未解决问题区】
移到【已解决问题区】,我用了“编辑”后不知道从哪里改。 回复 6# howacter
未解决问题区没有分类……
所以以后请不要在未解决问题区发帖,直接在父版块提问交流发帖,解决了就可以改为解决,N久解决不了才改为未解决~ 哦,原来是这样啊,谢谢老大的回答! 迷糊...接着迷糊
页:
[1]