TC官方合作论坛

 找回密码
 立即注册
查看: 264|回复: 2
打印 上一主题 下一主题

[问题] 小白遇到难题,求解答

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-7 18:18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
搞了很多多开的代码,本人新手的不能再新手一个,想把这些代码改成我需要的内容,结果 无论怎么改也无法实现我想要的简单效果 ,疯了都快要.
上代码:
空间 多开//版本:TC4.028
窗口句柄=数组[],线程句柄1=数组[],线程句柄2=数组[],线程状态=数组[],全部状态=假
功能 窗口(热键)//由热键0,热键1传入值
    句柄=窗口.鼠标所在窗口句柄()
    aa=数组空间.查找(窗口句柄,句柄)//4.0的数组用起来爽歪歪,4.0我看行!
    如果(aa==-1)//-1表示窗口句柄数组里没这个窗口句柄,是个新窗口
        如果(热键==0)//把新窗口句柄加入数组并开启线程,这里开了二个线程
            数组空间.增加(窗口句柄,句柄)
            数组空间.增加(线程句柄1,线程.开启("多开.操作1",句柄))
            数组空间.增加(线程句柄2,线程.开启("多开.操作2",句柄))
            数组空间.增加(线程状态,1)//用1来表示线程是运行的,0表示暂停
            列表框.增加文本("列表框0","运行(线程1:"&线程句柄1[0]&"--线程2:"&线程句柄2[0])            
        如果结束   
    否则//如果是旧窗口,根据所按热键做相应操作
        如果(热键==1)//关闭线程的操作
            线程.关闭(线程句柄1[aa])
            线程.关闭(线程句柄2[aa])
            列表框.增加文本("列表框0","线程关闭:"&线程句柄1[aa]&"--"&线程句柄2[aa])
            数组空间.删除指定项(窗口句柄,aa)//线程关闭后把相应的数组元素删除
            数组空间.删除指定项(线程句柄1,aa)
            数组空间.删除指定项(线程句柄2,aa)
            数组空间.删除指定项(线程状态,aa)
            窗口.设置标题(句柄,"停止")
            返回 真//热键1操作完毕,收工!记得返回
        如果结束//下面是热键0的操作      
        如果(线程状态[aa]==1)
            线程.暂停(线程句柄1[aa])
            线程.暂停(线程句柄2[aa])
            线程状态[aa]=0
        否则
            线程.恢复(线程句柄1[aa])
            线程.恢复(线程句柄2[aa])
            线程状态[aa]=1
        如果结束   
    如果结束
功能结束
功能 操作1(句柄)  
    循环(真)   
        窗口.设置标题(句柄,"运")
        辅助.等待(500)
        窗口.设置标题(句柄,"行")
        辅助.等待(500)
        窗口.设置标题(句柄,"运行中")
        辅助.等待(500)
    循环结束   
功能结束
功能 操作2(句柄)
    循环(真)
        列表框.增加文本("列表框0","窗口句柄:"&句柄&"--线程2演示")
        辅助.等待(1500)
    循环结束
功能结束
功能 全操作(热键)//由热键2,热键3传入值
    线程数量
    数组空间.大小(线程句柄1,线程数量)//窗口句柄,线程句柄1,线程句柄2,线程状态随便一个数组的数量都行
    如果(线程数量>0)
        如果(热键==2)//根据不同的热键作不同的操作
            如果(全部状态==假)//这个是真是假随自己喜欢
                遍历(x=0;x<线程数量;x++)
                    线程.暂停(线程句柄1[x])
                    线程.暂停(线程句柄2[x])
                    线程状态[x]=0
                遍历结束
                标签.设置文本("标签2","全部恢复")
            否则
                遍历(x=0;x<线程数量;x++)
                    线程.恢复(线程句柄1[x])
                    线程.恢复(线程句柄2[x])
                    线程状态[x]=1
                遍历结束
                标签.设置文本("标签2","全部暂停")            
            如果结束
            全部状态=!全部状态//把值设为相反
            列表框.增加文本("列表框0","全部状态:"&全部状态)
        否则//下面是热键3的操作
            遍历(x=0;x<线程数量;x++)
                线程.关闭(线程句柄1[x])
                线程.关闭(线程句柄2[x])
            遍历结束
            窗口句柄=数组[]//线程关闭完后把相关变量初始化
            线程句柄1=数组[]
            线程句柄2=数组[]
            线程状态=数组[]
            全部状态=假
            标签.设置文本("标签2","全部(暂停/恢复)")
            列表框.增加文本("列表框0","全部停止!")   
        如果结束
    如果结束   
功能结束
功能 热键0_热键()
    多开.窗口(0)//热键里不要用开启线程来调用函数
功能结束
功能 热键1_热键()
    多开.窗口(1)//四个热键里都用线程来调用函数好像有点问题,不知什么原因,求真相!   
功能结束
功能 热键2_热键()
    多开.全操作(2)
功能结束
功能 热键3_热键()
    多开.全操作(3)
功能结束
功能 退出_点击()
    辅助.退出()//退出前好像应该加点什么,懒得加了.
功能结束
空间结束


这是一个论坛上的朋友发的代码,   这是一个可以对多窗口发送语句的示例,类似游戏中多开喊话吧,因为我是一个刚接触TC的小白,想简单的实现每1.6秒对多开的每一个窗口按一次键盘1键.
功能 操作1(句柄)  
    循环(真)   
        键盘.按键(49)
        辅助.等待(1600)
    循环结束   
功能结束
更改后的这个怎么都不能实现对每一个窗口1.6秒按键.求朋友指导一下,或者给一个完整代码,   只需求每1.6秒对每一个窗口按键1一次就可以了.简单明了最好再能在各个区域备上注解就更感激不尽了!
回复

使用道具 举报

沙发
发表于 2014-4-7 18:58:16 | 只看该作者
我靠.都搞多开了还小白.
把示列中的天使多开那个搞懂就差不多了吧
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-4-7 19:10:58 | 只看该作者
fch1008 发表于 2014-4-7 18:58
我靠.都搞多开了还小白.
把示列中的天使多开那个搞懂就差不多了吧

真的是小白的,刚接触TC2天,练习当中,按需学习.论坛上发现的代码,拖下来作为框架自己给里面加入自己需求的功能,可是怎么加都不能实现了.删除我加入的内容,工具就正常了.每1.6秒按一次1键  只能对第一个窗口有用,对其他窗口无效.求指导
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-9-28 01:06 , Processed in 0.177770 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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