TC官方合作论坛

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

[问题] 官方的脚本,如何改为前台

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

马上加入TC

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

x
空间 TC结合天使插件多对象多开示例
//我们现在结合天使插件,多开记事本发送文本为例写一个多开的示例
//众所周知:记事本有一个子窗口其类名为:Edit,所以我们必须找到它对它发送文本才可以
天使=数组[0]//先定义个天使的全局对象备用
线程句柄数组=数组[0]//定义一个线程句柄数组备用
功能 主线程()
  父句柄数组,大小,子句柄字串,子句柄数组,edit_hwnd,大小1,下标1
  句柄组合字串=系统.枚举("记事本",0)//枚举记事本
  如果(句柄组合字串=="")//判断是否开启程序
    辅助.消息框("目标程序未开启")
    返回 假
  如果结束
//由于分割结果没有分隔符也是可以分割成功的,所以我们单开和多开一起处理
  字符串.分割(句柄组合字串,"|",父句柄数组)
  数组空间.大小(父句柄数组,大小)
  遍历(下标=0;下标<大小;下标++)//遍历每个记事本的每个子句柄,找出类名为Edit的句柄.
    子句柄字串=系统.枚举(父句柄数组[下标],3)
    字符串.分割(子句柄字串,"|",子句柄数组)
    数组空间.大小(子句柄数组,大小1)
    遍历(下标1=0;下标1<大小1;下标1++)
      如果(窗口.类名(子句柄数组[下标1])=="Edit")
        edit_hwnd=子句柄数组[下标1]//找到我们想要的子句柄 这个时候 我们可以开线程了
        线程参数=edit_hwnd&","&下标
        天使对象=com("ts.tssoft")
        数组空间.增加(天使,天使对象)
        句柄值=线程.开启("TC结合天使插件多对象多开示例.子线程",线程参数)
        数组空间.增加(线程句柄数组,句柄值)
      如果结束
    遍历结束
  遍历结束
功能结束


功能 子线程(参数)//接受参数 var 参数=句柄数组&","&i
  变量 下标,窗口句柄,绑定返回值,参数数组
  字符串.分割(参数,",",参数数组)//分割出传过来的参数 i和窗口句柄的值
  窗口句柄=参数数组[0]
  下标=参数数组[1]
  天使[下标]=com("ts.tssoft")//创建天使对象
  绑定返回值=天使[下标].BindWindow(窗口句柄,"gdi","windows","windows",1)//绑定
  辅助.等待(1000)
  如果(绑定返回值==0)
    辅助.消息框("绑定失败")
    返回 假
  否则
        i = 0
        循环(真)
                如果(i == 3)
                        i = 0
                如果结束
                窗口.置顶(窗口句柄,真)
                辅助.等待(50)
                窗口.设置焦点(窗口句柄)
                辅助.等待(50)
                线程.恢复(线程句柄数组)
                辅助.等待(3000)
                线程.暂停(线程句柄数组)
                窗口.置顶(窗口句柄,假)
                辅助.等待(50)
                i = i + 1
        循环结束
        返回 0
   //这里表示绑定成功,这后面如果是游戏脚本的可以自己根据情况写.
   //部分游戏会出现鼠键操作无效 可在绑定前后用setwindowstate 激活窗口试试
    天使[下标].LockInput(1)//多个线程相互控制窗口就靠这个对象: 天使[下标]
    天使[下标].MoveTo(359,239)//插件命令MOveTo和moveto一样不分大小写
    天使[下标].SendString(窗口句柄,"123456")//对对传进来的记事本发送我们想要的文本
    辅助.等待(500)
  如果结束
功能结束

功能 开始_点击()
  线程.开启("TC结合天使插件多对象多开示例.主线程","")
功能结束

空间结束

这是官方里的多开,如何改成前台操作。
比如:
循环(真)
                如果(i == 3)
                        i = 0
                如果结束
                窗口.置顶(窗口句柄集,真)
                辅助.等待(50)
                窗口.设置焦点(窗口句柄集)
                辅助.等待(50)
                线程.恢复(线程句柄集)
                辅助.等待(3000)
                线程.暂停(线程句柄集)
                窗口.置顶(窗口句柄集,假)
                辅助.等待(50)
                i = i + 1
        循环结束
        返回 0

该什么做才有这种效果, 求助 大婶们
回复

使用道具 举报

沙发
发表于 2013-7-4 16:55:41 | 只看该作者
前台和后台 远非一个概念的事情

简单的来说,前台多开 一般需要 用带临界区处理 抢鼠标和抢焦点的问题
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2013-7-4 19:09:51 | 只看该作者
回复 2楼陌上青衣。的帖子

你能给我一个多开前台脚本原码看一下吗?带插件的 实在不了解什么弄了。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-3 20:40 , Processed in 0.164744 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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