俩个循环怎么同时进行[已解决]
本帖最后由 thebest 于 2011-9-2 09:14 编辑Func Go()
While 1
$coord= PixelSearch ( 896, 99,962, 156, 0x3B6C02 )
If Not @error Then
MouseMove($coord,$coord)
Else
MouseMove(968,222)
Sleep(10000)
EndIf
WEnd
EndFunc上面代码中在Sleep(10000)的时候,如果If Not @error 成立怎么能立即停止延迟执行MouseMove($coord,$coord)操作,打到两个循环各自执行? 两个循环同时貌似需要多线程哟! {:face (356):}怎么个多线程法,来个代码 来个高手帮帮忙 AU3不支持多线程 有米有别的其他办法达到我想要的效果 其实我不太明白lz想要表达的意思,因为在Sleep(10000)的时候,你那整个脚本都是停止的,何来“如果If Not @error 成立”一说,而且“如果If Not @error 成立”的话,又怎么会跑到Sleep(10000)上去?另外au3本身不支持多线程,所以只能用AdlibRegister来模拟了,效果很难说,有好有坏吧
PS:据论坛的大大说,au3可以通过调用系统DLL来实现多线程,好像以前看到过帖子,不过忘记了。。 回复 7# 飘云
Sleep(10000)的时候,如果If Not @error 成立怎么能立即停止延迟执行MouseMove($coord,$coord)操作
是不是无法实现呢 另一个循环使用定时器吧,au3实现多线程,不简单哦,要么问问版主.... 如7L,sleep的时候,脚本是暂停的。不会去执行PixelSearch,就更不会去监听 If Not @error是否成立了。 sleep 程序睡眠了,不做任何动作。 可不可以用runwait ? 坐等高手回复 9楼说了,用定时器
_Timer_SetTimer 定时器
AdlibRegister
都行
页:
[1]
2