TC官方合作论坛

 找回密码
 立即注册
查看: 856|回复: 3

[脚本] 为什么激活窗口后只有一个运行我设定的代码求解决

[复制链接]
发表于 2013-12-19 01:08:50 | 显示全部楼层 |阅读模式

马上加入TC

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

x

Dm=array[8]//先定义个天使的全局对象备用
Hwnd=数组[8]//定义一个线程句柄数组备用
//开始按钮_
变量 线程句柄



功能 开始_点击()
    调试输出("开始按钮被点击")
    线程句柄=线程.开启("qq华夏多开自动钓鱼.主线程","")


功能结束

//退出按钮_点击操作
功能 退出_点击()
    变量 i
    调试输出("退出按钮被点击")
    解除值=Dm[i].UnBindWindow()
    调试输出(解除值)
    线程.关闭(线程句柄)
    辅助.退出()

功能结束
功能 销毁()
    //这里添加你要执行的代码
    热键.销毁("热键0")

    热键.销毁("热键2")
功能结束
功能 初始化()
    //这里添加你要执行的代码
    热键.注册("热键0")
    热键.注册("热键2")
    控件.可见("开始",假)
    控件.可见("退出",假)
功能结束

功能 主线程()
    var 句柄数组=数组[0],数组大小,i,参数,
    变量 dm

    句柄组合字串=系统.枚举("QQ华夏",0)//枚举
    调试输出(句柄组合字串)
    如果(句柄组合字串=="")//判断是否开启程序
        辅助.消息框("目标程序未开启")
        返回 假
    如果结束
    //由于分割结果没有分隔符也是可以分割成功的,所以我们单开和多开一起处理
    字符串.分割(句柄组合字串,"|",句柄数组)
    数组空间.大小(句柄数组,数组大小)
    遍历(i=0;i<数组大小;i++)//遍历每个qq华夏的每个句柄
        Dm=数组空间.重定义(Dm,true,i+1)
        var 参数=句柄数组[i]&","&i


        线程.开启("qq华夏多开自动钓鱼.子线程",参数)


        辅助.等待(2000)





    遍历结束   
功能结束

功能 子线程(参数)//接受参数  var i,参数=句柄数组[i]&","&i

    var i,窗口句柄,绑定返回值
    变量 intX,intY
    参数数组=数组[0]

    字符串.分割(参数,",",参数数组)//分割出传过来的参数 i和窗口句柄的值
    窗口句柄=参数数组[0]
    i=参数数组[1]
    Dm[i]=com("dm.dmsoft")//创建dm对象
    激活窗口=Dm[i].SetWindowState(Hwnd[i],1)
    绑定返回值=Dm[i].BindWindow(窗口句柄,"gdi","windows","windows",0)//绑定

    调试输出("绑定值"&绑定返回值)

    //Dm[i].SetPath(辅助.获取资源路径("rc:"))
    // Dm[i].SetDict(0,"test.txt")//设置字库路径,0为字库的序号(0-9)

    辅助.等待(1000)
    如果(绑定返回值==0)
        辅助.消息框("绑定失败")
        返回 假
    否则
        i=0
        循环(真)

            i>0

            变量 x,y
            Dm[i].GetCursorPos(x,y)
            辅助.等待(500)
            Dm[i].MoveTo(x+40,y+50)
            辅助.等待(500)
            Dm[i].LeftClick()
        循环结束


        //这里表示绑定成功,这后面如果是游戏脚本的可以自己根据情况写.
        //部分游戏会出现鼠键操作无效 可在绑定前后用setwindowstate 激活窗口试试
        //天使[下标].LockInput(1) //多个线程相互控制窗口就靠这个对象:  天使[下标]
        //天使[下标].MoveTo(359,239)//插件命令MOveTo和moveto一样不分大小写
        //天使[下标].SendString(窗口句柄,"123456")//对对传进来的记事本发送我们想要的文本
    如果结束
功能结束


功能 热键0_热键()
    //这里添加你要执行的代码
    qq华夏多开自动钓鱼.开始_点击()   
功能结束

功能 热键2_热键()
    //这里添加你要执行的代码
    qq华夏多开自动钓鱼.退出_点击()
功能结束

空间结束
//空间结束语句

回复

使用道具 举报

 楼主| 发表于 2013-12-19 02:28:25 | 显示全部楼层
有时候启动后鼠标不执行 求解决
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-19 02:29:36 | 显示全部楼层
空间 qq华夏多开自动钓鱼
//默认空间
dm=com("dm.dmsoft")
Dm=array[0]//先定义个天使的全局对象备用
Hwnd=数组[0]//定义一个线程句柄数组备用
//开始按钮_
变量 线程句柄



功能 开始_点击()
    调试输出("开始按钮被点击")
    线程句柄=线程.开启("qq华夏多开自动钓鱼.主线程","")
   
   
功能结束

//退出按钮_点击操作
功能 退出_点击()
    变量 i
    调试输出("退出按钮被点击")
    解除值=Dm[i].UnBindWindow()
    调试输出(解除值)
    线程.关闭(线程句柄)
    辅助.退出()
   
功能结束
功能 销毁()
    //这里添加你要执行的代码
    热键.销毁("热键0")
   
    热键.销毁("热键2")
功能结束
功能 初始化()
    //这里添加你要执行的代码
    热键.注册("热键0")
    热键.注册("热键2")
    控件.可见("开始",假)
    控件.可见("退出",假)
功能结束

功能 主线程()
    var 句柄数组=数组[0],数组大小,i,参数,
    变量 dm
   
    句柄组合字串=系统.枚举("QQ华夏",0)//枚举
    调试输出(句柄组合字串)
    如果(句柄组合字串=="")//判断是否开启程序
        辅助.消息框("目标程序未开启")
        返回 假
    如果结束
    //由于分割结果没有分隔符也是可以分割成功的,所以我们单开和多开一起处理
    字符串.分割(句柄组合字串,"|",句柄数组)
    数组空间.大小(句柄数组,数组大小)
    遍历(i=0;i<数组大小;i++)//遍历每个qq华夏的每个句柄
        Dm=数组空间.重定义(Dm,true,i+1)
        var 参数=句柄数组[i]&","&i
        
        
        
        
        线程.开启("qq华夏多开自动钓鱼.子线程",参数)
        
        
        辅助.等待(2000)
        
      
        
        
        
    遍历结束   
功能结束

功能 子线程(参数)//接受参数  var i,参数=句柄数组[i]&","&i
   
    var i,窗口句柄,绑定返回值
   
    参数数组=数组[0]
   
    字符串.分割(参数,",",参数数组)//分割出传过来的参数 i和窗口句柄的值
    窗口句柄=参数数组[0]
    i=参数数组[1]
    Dm[i]=com("Dm.dmsoft")//创建dm对象
    调试输出(Dm[i].Ver())
   
    绑定返回值=Dm[i].BindWindow(窗口句柄,"gdi","windows","windows",0)//绑定
   
    调试输出("绑定值"&绑定返回值)
   
    激活窗口=Dm[i].SetWindowState(窗口句柄,1)
    //Dm[i].SetPath(辅助.获取资源路径("rc:"))
    // Dm[i].SetDict(0,"test.txt")//设置字库路径,0为字库的序号(0-9)
   
    辅助.等待(1000)
   

   
    如果(绑定返回值==0)
        辅助.消息框("绑定失败")
        返回 假
    否则
        变量 x,y
        Dm[i].GetCursorPos(x,y)
        辅助.等待(500)
        Dm[i].MoveTo(x+40,y+50)
        辅助.等待(500)
        Dm[i].LeftClick()
        辅助.等待(500)
        Dm[i].MoveTo(x+40,y+50)
        辅助.等待(500)
        Dm[i].LeftClick()
        //这里表示绑定成功,这后面如果是游戏脚本的可以自己根据情况写.
        //部分游戏会出现鼠键操作无效 可在绑定前后用setwindowstate 激活窗口试试
        //天使[下标].LockInput(1) //多个线程相互控制窗口就靠这个对象:  天使[下标]
        //天使[下标].MoveTo(359,239)//插件命令MOveTo和moveto一样不分大小写
        //天使[下标].SendString(窗口句柄,"123456")//对对传进来的记事本发送我们想要的文本
    如果结束
功能结束


功能 热键0_热键()
    //这里添加你要执行的代码
    qq华夏多开自动钓鱼.开始_点击()   
功能结束

功能 热键2_热键()
    //这里添加你要执行的代码
    qq华夏多开自动钓鱼.退出_点击()
功能结束

空间结束
//空间结束语句

还是不行。求大神们给我个方法
回复 支持 反对

使用道具 举报

发表于 2013-12-19 12:16:25 | 显示全部楼层
QQ1472750668 愿意帮你解决问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-23 15:48 , Processed in 0.034554 second(s), 22 queries .

Powered by 海安简单软件服务部

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

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