飘渺风 发表于 2011-8-11 09:21:41

【已解决】如何实现等待某个进程关闭后再继续运行本脚本啊?

本帖最后由 飘渺风 于 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 的窗口就继续往下执行了

飘渺风 发表于 2011-8-11 09:26:04

因为我调用的 D.exe 程序,好像有点问题(别人的程序,当点击界面多次后,它本身就会出错,所以我不能用RunWait() 好像,试过用RunWait,结果就一直等待下去了,即使我关闭了 D.exe 的窗口)

骗子 发表于 2011-8-11 10:30:26

本帖最后由 骗子 于 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:45:14


骗子 发表于 2011-8-11 10:30 http://www.autoitx.com/images/common/back.gif


   

谢谢帮忙
这样一直 sleep ,主界面岂不是会很卡?容易假死吧?

不知道那个 ProcessWaitClose 的是不是也是通过 sleep 来实现的。

骗子 发表于 2011-8-11 11:13:13

回复 4# 飘渺风


你本身的GUI不也是一个死循环?
把那部分放到你GUI的循环里不行?

飘渺风 发表于 2011-8-11 11:59:53

回复飘渺风


你本身的GUI不也是一个死循环?
把那部分放到你GUI的循环里不行?
骗子 发表于 2011-8-11 11:13 http://www.autoitx.com/images/common/back.gif

嗯,也是。呵呵,我试试,谢谢了

yjw83523 发表于 2011-8-11 15:40:42

Run(@WindowsDir&"\D.exe") ;运行D.EXE


While 1 ;循环判断,如果进程存在就等待,进程不在退出循环


      If ProcessExists("d.exe") Then


                Sleep(100)


      Else


                ExitLoop


      EndIf


WEnd


;下一步工作内容
页: [1]
查看完整版本: 【已解决】如何实现等待某个进程关闭后再继续运行本脚本啊?