happytc 发表于 2010-12-19 07:05:38

[已解决]这段代码为什么只执行了一次调用的函数?

本帖最后由 happytc 于 2010-12-19 19:54 编辑

下面的代码为什么不向记事本里发送无数“OK”?我的目的就是先启动一个程序,然后不停地调用执行一个函数,并检测这个程序进程,若不在了,就退出脚本If Not WinExists("") Then RunWait("notepad")
While 1
        If Not ProcessExists("notepad.exe") Then Exit
        notepad()
        Sleep(250)
WEnd

Func notepad()
        WinActivate("")
        Send("0k")
EndFunc

lxz 发表于 2010-12-19 07:19:04

因为你退出了循环啊

happytc 发表于 2010-12-19 07:22:05

前面可能说得不清楚,我重新改了下说法

dwilly 发表于 2010-12-19 08:44:25

很高升的码子

pusofalse 发表于 2010-12-19 10:17:25

把Runwait改成Run,把Sleep语句放在notepad语句前面。

蜘蛛抱蛋 发表于 2010-12-19 10:26:28

楼主的头像很个性。。

ahphsautoit 发表于 2010-12-19 19:26:23

楼主的头像很个性。。
蜘蛛抱蛋 发表于 2010-12-19 10:26 http://www.autoitx.com/images/common/back.gif

我都没有注意到,经你这一说,我觉得你的头像也非常那个神马.......

_ddqs. 发表于 2010-12-19 19:51:55

记事本没退出
一次都调用不了(还没进入循环哦~~)
;RunWait("notepad") ;运行并等候返回
If Not WinExists("") Then Run("notepad") ;只运行!该句执行完毕,脚本会继续下一指令

happytc 发表于 2010-12-19 19:55:38

谢谢楼上各位,我没有理解Runwait函数的用法,还以为是“一直等到程序运行起来呢”,原来是:运行一个外部程序并暂停脚本的执行直至该程序执行完毕.

蜘蛛抱蛋 发表于 2010-12-19 21:24:02

回复 7# ahphsautoit

呵呵,这个不是画的,是五水硫酸铜拼的
页: [1]
查看完整版本: [已解决]这段代码为什么只执行了一次调用的函数?