TC官方合作论坛

标题: 热键连按两次线程开始失效问题 [打印本页]

作者: qwaszxyobdc    时间: 2016-2-21 17:37
标题: 热键连按两次线程开始失效问题
新手 自己写了脚本如下


空间 a1
var THwnd

//默认空间
变量 线程句柄 = 0


//开始按钮_点击操作
功能 开始_点击()
   
功能结束


功能 热键0_热键()
    线程.开启("a1.一","")
功能结束
//空间结束语句


功能 一()
    while(true)
        THwnd=线程.获得当前句柄()
        变量 x,y
        是否找到=图像.区域找色(957,596,1417,606,#FFFFFF,0,x,y)
        如果(x > 0)
            鼠标.移动(x,y)
            鼠标.右键单击(1)
        否则
            线程.关闭(THwnd)
        如果结束
    endwhile
功能结束


功能 热键1_热键()
    //这里添加你要执行的代码
    线程.开启("a1.二","")
功能结束

功能 二()
    while(true)
        THwnd=线程.获得当前句柄()
        颜色值 = 图像.坐标点取色(933,126)
        如果(颜色值 == #CDA539)
            键盘.按键(54)
        如果结束
    endwhile
功能结束

功能 热键2_热键()
    //这里添加你要执行的代码
    线程.开启("a1.三","")
功能结束

功能 三()
    while(true)
        THwnd=线程.获得当前句柄()
        颜色值 = 图像.坐标点取色(933,126)
        如果(颜色值 == #CDA539)
            键盘.按键(54)
        如果结束
    endwhile
功能结束



功能 热键3_热键()
    //这里添加你要执行的代码
    键盘.按键(100)
    键盘.按键(101)
    键盘.按键(102)
    键盘.按下(40)
    辅助.等待(20)
    键盘.按键(32)
    辅助.等待(50)
    键盘.弹起(40)
功能结束  

功能 热键4_热键()
    //这里添加你要执行的代码
    线程.关闭(THwnd)   
功能结束


功能 热键5_热键()
    //这里添加你要执行的代码
    线程.关闭(THwnd)  
功能结束



功能 退出_点击()
    //退出按钮_点击操作
    辅助.退出()
功能结束


空间结束
//空间结束语句
作者: qwaszxyobdc    时间: 2016-2-21 17:38

热键0 设置为A 热键1 设置为B 热键2 设置为C 开启所需要的功能
热键4 设置为D 热键5 设置为E 为关闭线程

问题在于 如果连按A 两次或者三次 抓色功能失效
或者按一下D 再按一下E 同样脚本失效

新手不是很清楚是什么原因 求大大帮忙指点一下=,=
如果能帮忙改下脚本 更感谢了

作者: a765998143    时间: 2016-2-21 22:37
765998143 加我  我教你
作者: 言术    时间: 2016-2-21 23:06
空间 a1
变量 线程句柄1=0,线程句柄2=0

功能 热键0_热键()//A
    如果(线程句柄1==0)
        线程句柄1=线程.开启("a1.一","")
    如果结束
功能结束

功能 热键1_热键()//B
    如果(线程句柄2==0)
        线程句柄2=线程.开启("a1.二","")
    如果结束
功能结束

功能 热键3_热键()
    键盘.按键(100)
    键盘.按键(101)
    键盘.按键(102)
    键盘.按下(40)
    辅助.等待(20)
    键盘.按键(32)
    辅助.等待(50)
    键盘.弹起(40)
功能结束  

功能 热键4_热键()//D
    如果(线程句柄1!=0)
        线程.关闭(线程句柄1)
    如果结束
功能结束


功能 热键5_热键()//E
    如果(线程句柄2!=0)
        线程.关闭(线程句柄2)
    如果结束
功能结束

功能 一()
    while(true)
        变量 x,y
        是否找到=图像.区域找色(957,596,1417,606,#FFFFFF,0,x,y)
        如果(x > 0)
            鼠标.移动(x,y)
            鼠标.右键单击(1)
        否则
            线程句柄1=0
            返回 0
        如果结束
    endwhile
功能结束

功能 二()//二和三重复了
    while(true)
        颜色值 = 图像.坐标点取色(933,126)
        如果(颜色值 == #CDA539)
            键盘.按键(54)
        如果结束
    endwhile
功能结束

空间结束
作者: qwaszxyobdc    时间: 2016-2-23 00:50
言术 发表于 2016-2-21 23:06
空间 a1
变量 线程句柄1=0,线程句柄2=0

这个可以一次关闭线程了 但是关闭之后重新按一下开启热键 没反应了 不能重复开启关闭
作者: qwaszxyobdc    时间: 2016-2-23 00:55
空间 a1
变量 线程句柄1=0,线程句柄2=0

功能 热键0_热键()//A
    如果(线程句柄1==0)
        线程句柄1=线程.开启("a1.一","")
    如果结束
功能结束

功能 一()
    while(true)
        变量 x,y
        是否找到=图像.区域找色(955,599,1409,602,#FFFFFF,0,x,y)
        如果(x > 0)
            鼠标.移动(x,y)
            鼠标.右键单击(1)
        否则
            线程句柄1=0
            返回 0
        如果结束
    endwhile
功能结束

功能 热键1_热键()//B
    如果(线程句柄2==0)
        线程句柄2=线程.开启("a1.二","")
    如果结束
功能结束

功能 二()//二和三重复了
    while(true)
        颜色值 = 图像.坐标点取色(816,126)
        如果(颜色值 == #CAA436)
            键盘.按键(54)
        如果结束
    endwhile
功能结束

功能 热键2_热键()//B
    如果(线程句柄2==0)
        线程句柄2=线程.开启("a1.二","")
    如果结束
功能结束


功能 三()//二和三重复了
    while(true)
        颜色值 = 图像.坐标点取色(933,126)
        如果(颜色值 == #CEA434)
            键盘.按键(54)
        如果结束
    endwhile
功能结束

功能 热键3_热键()
    键盘.按键(100)
    键盘.按键(101)
    键盘.按键(102)
    键盘.按下(40)
    辅助.等待(20)
    键盘.按键(32)
    辅助.等待(50)
    键盘.弹起(40)
功能结束  

功能 热键4_热键()//D
    如果(线程句柄1!=0)
        线程.关闭(线程句柄1)
    如果结束
功能结束


功能 热键5_热键()//E
    如果(线程句柄2!=0)
        线程.关闭(线程句柄2)
    如果结束
功能结束


空间结束


怎么能够做到循环开启和关闭
作者: qwaszxyobdc    时间: 2016-2-23 00:59
言术 发表于 2016-2-21 23:06
空间 a1
变量 线程句柄1=0,线程句柄2=0

还有就是怎么一个热键关闭所有线程 然后重新按abc热键之后几个线程又可以重新开启抓色功能 问题有点多 请教大大
作者: jodon27    时间: 2016-3-2 08:41
学习一下!!
作者: jodon27    时间: 2016-3-2 08:41
学习一下!!
作者: jodon27    时间: 2016-3-2 08:41
学习一下!!
作者: xlqglm    时间: 2016-3-29 14:40
我也遇到这个问题了,有正解吗?

作者: 华山兄兄    时间: 2016-4-2 10:35
学习




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