找回密码
 加入
搜索
查看: 4294|回复: 7

[AU3基础] (已解决)用定时器定时执行一个子程序,为什么它不干活?

  [复制链接]
发表于 2012-11-4 22:42:09 | 显示全部楼层 |阅读模式
本帖最后由 yufei8051 于 2012-11-5 21:06 编辑

比如以下代码,让定时器没10秒运行一次,显示下面的对话框,死活干不了,错在哪了?请老师指点,不胜感激!

AdlibRegister("kssm",10000);打开定时器

Func kssm()
        MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc
发表于 2012-11-4 23:08:51 | 显示全部楼层
少了
while True
Sleep(100)
WEnd
 楼主| 发表于 2012-11-5 07:15:51 | 显示全部楼层
感谢楼上回复!
能更详细点吗?以上面的源码为例可以麻烦你完整的写出来吗?我水平太菜,只会照猫画虎
 楼主| 发表于 2012-11-5 07:21:52 | 显示全部楼层
另外,如果在1楼的程序执行中我想做点别的事儿,是不是只要用 AdlibunRegister 解除,上面的程序就停止了?当我再想运行它时,再用 AdlibRegister 它就会继续执行?劳请高手指点,不胜感谢
 楼主| 发表于 2012-11-5 07:23:56 | 显示全部楼层
麻烦高手回复时写具体程序,本人太菜,不好意思
发表于 2012-11-5 09:58:35 | 显示全部楼层
许多人认为自己是太菜,其实不是太菜,而是缺少去试验、去实践的精神。2楼已经说了问题所在,试一下就解决了问题,却还在说要具体的代码。唉~
2 楼不是说你缺了那三行代码吗?加在你的代码之后,就行。如下
AdlibRegister("kssm",10000);打开定时器
Func kssm()
        MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc
while True
Sleep(100)
WEnd
,当然程序如美观一点吧,可把那三行代码放在自定义函数之前,让自定义函数放在最后,
AdlibRegister("kssm",10000);打开定时器
while True
Sleep(100)
WEnd

Func kssm()
        MsgBox(262144, "调试_死活不行了", "干不干",5)
EndFunc
其实你的问题所在是4 行代码执行后程序已经就结束了,可能要几豪秒,也可能是微秒级的吧,所以不可能在10秒后弹出什么窗口。程序执行到最后如没有代码了,会执行了一个exit,结束运行,再也不可能有什么奇迹发生了。如加上循环,让程序执行时间超过10秒,你就能看到弹出窗口了。
发表于 2012-11-5 10:37:02 | 显示全部楼层
楼上说的对!!
 楼主| 发表于 2012-11-5 21:05:11 | 显示全部楼层
衷心感谢楼上几位特别是2楼和6楼的回复!不胜感激!
问题解决,祝各位晚安!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-1 07:21 , Processed in 0.093533 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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