TC官方合作论坛

 找回密码
 立即注册
查看: 1193|回复: 4

[问题] 请教无限循环暂停问题

[复制链接]
发表于 2016-7-18 00:36:48 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
根据我的理解,我认为,在无限循环中,一直重复着循环中的命令,没有运行到后面 热键 线程关闭的命令,所以无法停止。 请大神指点, 代码如下

变量 线程ID = 0
//从这里开始执行
功能 执行()
    //从这里开始你的代码
    循环(真)
    消息框("这个是热键执行的代码")
    结束
结束
//启动_热键操作
功能 启动_热键()
    如果(线程ID == 0)
        线程ID=线程开启("执行","")
    否则
        消息框("脚本正在执行中,请先停止再启动.")
    结束

结束

//终止热键操作
功能 终止_热键()
    如果(线程ID != 0)
        线程关闭(线程ID)
        线程ID = 0        
    结束   
结束


在这个代码中,启动后无限弹出对话框,按终止热键无效。必须关闭该脚本才能停止。  请问大神们该如何修改才能实现停止?
回复

使用道具 举报

发表于 2016-7-18 01:14:27 | 显示全部楼层
本帖最后由 cjxdn 于 2016-7-18 01:18 编辑

你的代码我测试没问题能正常停止循环

你试下关闭里加调试输出("关闭线程")   看看是否有正常运行关闭命令

功能 终止_热键()
    如果(线程ID != 0)
        线程关闭(线程ID)
        线程ID = 0
        调试输出("关闭线程")
    结束
结束


回复 支持 反对

使用道具 举报

发表于 2016-7-18 05:47:01 | 显示全部楼层
//你的终止热键是有效的,只是子窗口没有关闭而已。


变量 线程ID = 0
//从这里开始执行
功能 执行()
    //从这里开始你的代码
    循环(真)
        消息框("这个是热键执行的代码")
    结束
结束
//启动_热键操作
功能 启动_热键()
    如果(线程ID == 0)
        线程ID=线程开启("执行","")
    否则
        消息框("脚本正在执行中,请先停止再启动.")
    结束
   
结束

//终止热键操作
功能 终止_热键()
    如果(线程ID != 0)
        线程关闭(线程ID)
        线程ID = 0   
        变量 句柄=窗口查找("TC")
        窗口关闭(句柄)
    结束   
结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-18 12:03:12 | 显示全部楼层
言术 发表于 2016-7-18 05:47
//你的终止热键是有效的,只是子窗口没有关闭而已。

你这个代码我测试了是可以关闭,但是如果是 无限循环单击某坐标的命令,应该如何暂停?
回复 支持 反对

使用道具 举报

发表于 2016-7-18 13:17:42 | 显示全部楼层
cxch1314 发表于 2016-7-18 12:03
你这个代码我测试了是可以关闭,但是如果是 无限循环单击某坐标的命令,应该如何暂停? ...

    循环(真)
        等待(1000,假)
        消息框("这个是热键执行的代码")
    结束

循环中加延迟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 01:49 , Processed in 0.041226 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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