怎么检测指定进程,如果不存在则自动退出脚本
本帖最后由 82035935 于 2011-6-5 00:25 编辑下面是代码,前面的都可以正常执行,就是最后关闭程序的时候,脚本始终不自动退出,需要强制结束,怎么把代码加进去才能实现检测到进程不存在了就自动退出脚本?#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\WINDOWS\system32\SHELL32.dll|-13
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$g_szVersion = "自动启动"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
Run("灰色按钮.exe","",@SW_MINIMIZE)
Run("神仙泡泡龙.exe")
WinwaitActive("提示")
WinSetState("提示","",@SW_HIDE)
while 1
WinwaitActive("有木有")
Send("{Enter}")
Wend
Func Chkexe()
If Not ProcessExists("神仙泡泡龙.exe") Then Exit
EndFunc ;==>Chkexe while 1
If Not ProcessExists("taskmgr.exe") Then Exit
Wend 这行代码是加在哪里呢?我加在最后面还是不行的 做人要灵活,不能硬套代码,我刚开始时候也遇到过类似的问题,后来自己分析出原因了 要加个循环才行 如果加上while 1...Wend 只能执行一个循环,另外一个执行不了,这是怎么回事,不能执行多个while 1...Wend 么 #NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\WINDOWS\system32\SHELL32.dll|-13
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$g_szVersion = "自动启动"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
Run("灰色按钮.exe","",@SW_MINIMIZE)
Run("神仙泡泡龙.exe")
WinwaitActive("提示")
WinSetState("提示","",@SW_HIDE)
WinwaitActive("有木有")
Send("{Enter}")
while 1
If Not ProcessExists("神仙泡泡龙.exe") Then Exit
WendLZ的代码里头压根就看不到调用过函数啊,试下这样行不行... 这行代码是加在哪里呢?我加在最后面还是不行的
82035935 发表于 2011-6-5 01:05 http://www.autoitx.com/images/common/back.gif
你把中间那行加在中间 回复 7# palkiller
谢谢啊,进程是可以结束了 不过检测窗口的时候只能检测一次,只能发送一次Enter 我需要是无限循环检测窗口‘有木有’ 如果有就发送enter 命令,所以这个也只能执行一个循环啊,不能执行2个循环啊 可以有两个循环,不过你的代码完全没必要...#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\WINDOWS\system32\SHELL32.dll|-13
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$g_szVersion = "自动启动"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
Run("灰色按钮.exe","",@SW_MINIMIZE)
Run("神仙泡泡龙.exe")
WinwaitActive("提示")
WinSetState("提示","",@SW_HIDE)
while 1
If Not ProcessExists("神仙泡泡龙.exe") Then Exit
IfWinActive("有木有")<>0 then Send("{Enter}")
WinWaitActive("有木有", "", 20)
Wend这样好了,循环体先判断进程是否存在,不存在则退出脚本,然后判断"有木有"窗口是否已激活,激活的话发送一次回车,然后等待"有木有"窗口出现并是活动状态,最多等待20秒,进入下一次循环。 回复 10# palkiller
太感谢了,已经成功了,谢谢了 {:face (55):} 學習了~{:face (356):} 如果真的有2个或多个循环的,要怎么办呢?
页:
[1]