TC官方合作论坛

标题: 请教无限循环暂停问题 [打印本页]

作者: cxch1314    时间: 2016-7-18 00:36
标题: 请教无限循环暂停问题
根据我的理解,我认为,在无限循环中,一直重复着循环中的命令,没有运行到后面 热键 线程关闭的命令,所以无法停止。 请大神指点, 代码如下

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

结束

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


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

作者: cjxdn    时间: 2016-7-18 01:14
本帖最后由 cjxdn 于 2016-7-18 01:18 编辑

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

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

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



作者: 言术    时间: 2016-7-18 05:47
//你的终止热键是有效的,只是子窗口没有关闭而已。


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

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

作者: cxch1314    时间: 2016-7-18 12:03
言术 发表于 2016-7-18 05:47
//你的终止热键是有效的,只是子窗口没有关闭而已。

你这个代码我测试了是可以关闭,但是如果是 无限循环单击某坐标的命令,应该如何暂停?
作者: cjxdn    时间: 2016-7-18 13:17
cxch1314 发表于 2016-7-18 12:03
你这个代码我测试了是可以关闭,但是如果是 无限循环单击某坐标的命令,应该如何暂停? ...

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

循环中加延迟




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1