l4ever 发表于 2008-8-3 07:52:41

do...Until的问题,请大家帮忙看啊可能[感谢版主pcbar]

我想当没有TSingVision.exe的时候退出自身.
有则继续loing().
大家看这样写有什么问题吗?
我运行发现无法退出自己.....
因为程序TSingVision.exe有不少地方要Login()
所以只能循环直到用户关闭
run ("D:\Program Files\Ymnetwork\DVR\TSingVision.exe")

Do
login()
$S1=ProcessExists ("TSingVision.exe")
Until $S1 = ("0")
Exit

Func login()
WinWait("DVR    用户验证","")
send("ym")
send("{Tab}")
send("ym")
send("{enter}")
EndFunc

[ 本帖最后由 l4ever 于 2008-8-5 01:31 编辑 ]

sprinkle 发表于 2008-8-3 08:11:07

While 1
        $S1 = ProcessExists("TSingVision.exe")
        If $S1 = 0 Then
                ExitLoop
        Else
                login ()
        EndIf
WEnd

auto 发表于 2008-8-3 15:33:51

run ("D:\Program Files\Ymnetwork\DVR\TSingVision.exe")

Do
login()
Until ProcessExists ("TSingVision.exe") = 0
Exit

Func login()
WinWait("DVR    用户验证","")
send("ym")
send("{Tab}")
send("ym")
send("{enter}")
EndFunc

l4ever 发表于 2008-8-3 21:37:39

谢谢LS两位,可是进程TSingVision.exe没有了,程序还不推出去

qop1830 发表于 2008-8-3 21:55:57

Until Not ProcessExists ("TSingVision.exe")

pcbar 发表于 2008-8-3 22:46:42

试试
run ("D:\Program Files\Ymnetwork\DVR\TSingVision.exe")

Do
login()
$S1=ProcessExists ("TSingVision.exe")
Until $S1 = ("0")
Exit

Func login()
WinWait("DVR    用户验证",3)
send("ym")
send("{Tab}")
send("ym")
send("{enter}")
EndFunc

l4ever 发表于 2008-8-3 23:21:47

回LS两位,还是不行.

5yun 发表于 2008-8-4 01:07:12

Do
        ConsoleWrite("1")
Until ProcessExists("notepad.exe") = 0
试试可行

pcbar 发表于 2008-8-4 20:08:00

没有tsingvision程序,无法测试,请再试
run ("D:\Program Files\Ymnetwork\DVR\TSingVision.exe")

Do
login()
Until not ProcessExists ("TSingVision.exe")
Exit

Func login()
if WinWait("DVR","",5)=0 then Return
send("ym")
send("{Tab}")
send("ym")
send("{enter}")
EndFunc

[ 本帖最后由 pcbar 于 2008-8-4 20:10 编辑 ]
页: [1]
查看完整版本: do...Until的问题,请大家帮忙看啊可能[感谢版主pcbar]