【已解决】如何实现等待某个进程关闭后再继续运行本脚本啊?
本帖最后由 飘渺风 于 2011-8-11 18:19 编辑【求助】如何实现等待某个进程关闭后再继续运行本脚本啊?
If FileExists(@WindowsDir&"\D.exe")==1 Then
Run(@WindowsDir&"\DI.exe")
ProcessWait("D.exe",8)
EndIf
上面的代码,只是一直等待8秒,8秒后自动继续运行,
但是我想实现,当进程中还有 D.exe 时,脚本都继续等待,直到进程 D.exe 关闭后,再继续往下执行。
我试过用 ProcessWaitClose("D.exe",40),这样好像也不行,都不等待我关闭 D.exe 的窗口就继续往下执行了 因为我调用的 D.exe 程序,好像有点问题(别人的程序,当点击界面多次后,它本身就会出错,所以我不能用RunWait() 好像,试过用RunWait,结果就一直等待下去了,即使我关闭了 D.exe 的窗口) 本帖最后由 骗子 于 2011-8-11 10:33 编辑
Run(@WindowsDir&"\D.exe") ;运行D.EXE
While 1 ;循环判断,如果进程存在就等待,进程不在退出循环
If ProcessExists("d.exe") Then
Sleep(100)
Else
ExitLoop
EndIf
WEnd
;下一步工作内容
骗子 发表于 2011-8-11 10:30 http://www.autoitx.com/images/common/back.gif
谢谢帮忙
这样一直 sleep ,主界面岂不是会很卡?容易假死吧?
不知道那个 ProcessWaitClose 的是不是也是通过 sleep 来实现的。 回复 4# 飘渺风
你本身的GUI不也是一个死循环?
把那部分放到你GUI的循环里不行? 回复飘渺风
你本身的GUI不也是一个死循环?
把那部分放到你GUI的循环里不行?
骗子 发表于 2011-8-11 11:13 http://www.autoitx.com/images/common/back.gif
嗯,也是。呵呵,我试试,谢谢了 Run(@WindowsDir&"\D.exe") ;运行D.EXE
While 1 ;循环判断,如果进程存在就等待,进程不在退出循环
If ProcessExists("d.exe") Then
Sleep(100)
Else
ExitLoop
EndIf
WEnd
;下一步工作内容
页:
[1]