找回密码
 加入
搜索
查看: 1514|回复: 6

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

  [复制链接]
发表于 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



   

谢谢帮忙
这样一直 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


嗯,也是。呵呵,我试试,谢谢了
发表于 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


;下一步工作内容
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 19:22 , Processed in 0.179189 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表