TC官方合作论坛

 找回密码
 立即注册
查看: 1716|回复: 0

[讨论] 蓝丝雨老师课程-多线程 7.0中编译错误

[复制链接]
发表于 2018-5-18 16:56:12 | 显示全部楼层 |阅读模式

马上加入TC

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

x
变量 线程ID
//--------------以下为全局变量--------------//
变量 ts
变量 窗口句柄数组 = 数组 (0) ,ts数组 =数组 (0)
变量 任务线程句柄 = 数组 (0) , 检测线程句柄 = 数组 (0)
变量 Index = 0, ts_R = 数组 (0), ts_J = 数组 (0)
变量 是否重定义 = 真, 窗口标题 = 数组 (0)

//==========================================//

//-----------------开启初始化---------------//
功能 失色_多开_魔域全自动多功能多开脚本_初始化()
    //这里添加你要执行的代码
    创建天使插件()
    热键销毁("热键_开始")
    热键销毁("热键_单停")
    热键销毁("热键_全部终止")
    热键注册("热键_开始")
    热键注册("热键_单停")
    热键注册("热键_全部终止")
   
结束
//==========================================//

//------------------选项卡主界面------------//
功能 选项卡_主界面_选择改变()
    //这里添加你要执行的代码
    变量 索引值 =选项卡获取选项("选项卡_主界面")
    选择(索引值)
        条件 0
        控件显示("选项卡_角色设置",真)
        条件 1
        控件显示("选项卡_角色设置",真)
        条件 2
        控件显示("选项卡_角色设置",真)
    结束
    如果(索引值 == 1 || 索引值 == 2)
        控件显示("选项卡_角色设置",假)   
    结束
结束

//==========================================//

//---------------热键启动操作---------------//

功能 热键_开始_热键()
    //这里添加你要执行的代码
    调试输出(创建天使插件())
    变量 窗口句柄
    定时器注册("定时器_获取鼠标坐标",200)   
    调试输出(创建天使插件())
    窗口句柄 = 获取窗口句柄(窗口句柄,"")
    如果(窗口句柄 > 0)
        //   主窗口绑定(窗口句柄)
    结束
    //-------------(窗口句柄)---------------//
    // 窗口句柄 = 获取窗口句柄("获取窗口句柄()","")
结束
//---------------热键单停操作---------------//
功能 热键_单停_热键()
    变量 窗口句柄, 数组下标
    //这里添加你要执行的代码
    //根据置于前台窗口的句柄来停止脚本运行
    窗口句柄= ts.GetForegroundWindow()
    //在数组中查找窗口句柄
    数组下标= 数组值查找(窗口句柄数组,窗口句柄)
    调试输出("[热键_单停_热键] 数组下标: " & 数组下标)
    如果(数组下标 != -1)
        //先关闭全局变量
        关闭全局变量(窗口句柄)
        //线程解绑
        ts_R[数组下标].UnBindWindow
        ts_J[数组下标].UnBindWindow
        //关闭子线程
        线程关闭(任务线程句柄[数组下标])
        线程关闭(任务线程句柄[数组下标])
        数组指定键值删除(任务线程句柄,数组下标)
        数组指定键值删除(检测线程句柄,数组下标)
        //恢复窗口标题
        ts_R[数组下标].SetWindowText(窗口句柄数组[数组下标],窗口标题)
        数组指定键值删除(窗口标题,数组下标)
        数组指定键值删除(窗口句柄数组,数组下标)
        Index = 数组下标      
        是否重定义 = 假
        
    否则
        消息框("脚本未执行","提示")
    结束
结束   
//---------------热键全停操作---------------//

功能 热键_全部终止_热键()
    变量 是否销毁
    //这里添加你要执行的代码
    变量 长度=数组大小(窗口句柄数组)
    调试输出("[热键_全部终止]长度: " & 长度)
    如果(长度 > 0)
        遍历(变量 i = 0; i < 长度; i++)
            如果(关闭全局变量(窗口句柄数组[i]))
                //线程解绑
                ts_R.UnBindWindow()
                ts_J.UnBindWindow()
                线程关闭(任务线程句柄[i])
                线程关闭(检测线程句柄[i])
                //恢复窗口标题
                ts_R.SetWindowText(窗口句柄数组[i],窗口标题[i])      
            结束
        结束
        //将数据从数组中删除
        数组清空(任务线程句柄)
        数组清空(检测线程句柄)
        数组清空(窗口句柄数组)
        数组清空(窗口标题)
        数组清空(ts_R)
        数组清空(ts_J)
        Index = 0
        是否重定义 = 真
    结束
    定时器销毁("定时器_获取鼠标坐标")
    标签设置文本("标签_鼠标坐标","")
结束
//==========================================//

//-------------删除数组指定内容-------------//
功能 删除数组指定内容(数组名, 下标)
    数组名[下标] = null
结束
//==========================================//

//---------------按钮退出操作---------------//
功能 按钮退出_点击()
    //这里添加你要执行的代码
    热键销毁("热键_开始")
    热键销毁("热键_单停")
    热键销毁("热键_全部终止")
    注册插件("rc:TSPlug.dll",假)
    退出()
结束
//==============================================//   


//----------定时器,获取鼠标坐标-------------//   
功能 定时器_获取鼠标坐标_时钟()
    //这里添加你要执行的代码
    变量 x, y
    鼠标获取坐标(x, y)
    标签设置文本("标签_鼠标坐标", "X:" & x & "Y" & y)
   
结束
//==========================================//  

//-------------创建天使插件-----------------//
功能 创建天使插件()
    变量 是否成功 = 注册插件("rc:TSPlug.dll",真)
    如果(是否成功)
        调试输出("天使插件注册成功")
        ts = 插件("ts.tssoft")
        变量 版本 = ts.ver()
        调试输出("版本" & ts.ver())
    否则
        调试输出("注册失败,请完全退出360,杀软,关闭防火墙再试")
    结束
结束
//==========================================//

//----------------获取当前窗口句柄----------//
功能 获取窗口句柄()
    变量 窗口句柄
    窗口句柄 = ts.GetForegroundWindow()//---天使插件获取当前窗口句柄
    如果(窗口句柄 > 0)
        如果(是否重定义)
            窗口句柄数组 = 数组追加元素(窗口句柄数组, 真, Index + 1)
            窗口标题 = 数组追加元素(窗口标题, 真, Index + 1)
            任务线程句柄 = 数组追加元素(任务线程句柄, 真, Index + 1)
            检测线程句柄 = 数组追加元素(检测线程句柄, 真, Index + 1)
            ts_R = 数组追加元素(ts_R, 真, Index + 1)
            ts_J = 数组追加元素(ts_J, 真, Index + 1)
        结束
        调试输出("窗口句柄:" & 窗口句柄)
        //查看是否已经绑定了!
        变量 数组下标 = 数组值查找(窗口句柄数组,窗口句柄)
        调试输出("[获取窗口句柄] 数组下标" & 数组下标)
        如果(数组下标 == -1)
            //说明没有绑定过 第一次Index 为0
            窗口句柄数组[Index] = 窗口句柄
            返回 窗口句柄
        否则
            消息框("请不要重复运行脚本", "提示")
            返回 -1
        结束
    否则
        返回 -1
        
        
    结束
结束
//==========================================//

//---------------主窗口绑定-----------------//
功能 主窗口绑定(句柄)
    变量 下标
   
    //再次查找传入的句柄在窗口句柄数组中的位置(下标) 第一次会返回 0
    下标 = 数组值查找(窗口句柄数组,句柄)
    //获取窗口标题
    窗口标题[下标] = ts.GetWindowTitle(句柄)
    变量 新标题 = 窗口标题[下标] & "-窗口" & 转字符型(下标 + 1)
    //设置窗口标题
    ts.SetWindowText(句柄,新标题)
    调试输出("[主窗口绑定] Index" & Index)
    系统报警()//系统报警
    线程开启 ("初始化全局变量","")//在这里提前初始化 方便任务 线程检测使用
    //开线程
    任务线程句柄[下标] = 线程开启("任务线程",下标)
    检测线程句柄[下标] = 线程开启("检测线程",下标)   
    调试输出("[主窗口绑定] 任务ID" & 任务线程句柄[下标])
    调试输出("[主窗口绑定] 检测ID" & 检测线程句柄[下标])
    Index = Index +1
    //错误判断机制
   
    变量 长度 = 数组大小(窗口句柄数组)
    如果(Index != 长度)
        Index =长度
    结束
    是否重定义 = 真
结束
//==========================================//

//------------------系统报警----------------//
功能 系统报警()
    变量 系统版本
    系统版本 = 系统获取版本号()
    如果(系统版本 == 2)
        //XP系统
        蜂鸣(800, 300)
    否则
        如果(系统版本 == 5 || 系统版本 == 6)
            音乐播放("rc:提示音.wav")
        结束
    结束
结束
//==========================================//

//-------------初始化全局变量---------------//
功能 初始化全局变量(窗口句柄)
    变量 杀怪开关, 检测开关, 检测控制, 交互开关
   
    //保存窗口句柄
    文件写配置(转字符型(窗口句柄), "窗口句柄", 转字符型(窗口句柄),"c:\\Global.ini")
    //bW1ShaGuai      写值为0
    文件写配置(转字符型(窗口句柄), "杀怪开关", "0", "c:\\Global.ini")
    //检测开关        写值为1
    文件写配置(转字符型(窗口句柄), "检测开关", "1", "c:\\Global.ini")
    //判断检测线程是否在控制任务bW1JianCheCtrl    写值为0
    文件写配置(转字符型(窗口句柄), "检测控制", "0", "c:\\Global.ini")
    //线程交互bWJiaoHu 写值为0
    文件写配置(转字符型(窗口句柄), "交互开关", "0", "c:\\Global.ini")
    //任务标题任务标题
结束
//==========================================//

//---------------关闭全局变量---------------//
功能 关闭全局变量(窗口句柄)
    变量 杀怪开关 ,检测开关, 检测控制, 交互开关
    //bW1ShaGuai      写值为0
    文件写配置(转字符型(窗口句柄), "杀怪开关", "0", "c:\\Global.ini")
    //检测开关        写值为1
    文件写配置(转字符型(窗口句柄), "检测开关", "0", "c:\\Global.ini")
    //判断检测线程是否在控制任务bW1JianCheCtrl    写值为0
    文件写配置(转字符型(窗口句柄), "检测控制", "0", "c:\\Global.ini")
    //线程交互bWJiaoHu 写值为0
    文件写配置(转字符型(窗口句柄), "交互开关", "0", "c:\\Global.ini")
    //任务标题任务标题
结束
//==========================================//

//-----------------任务线程-----------------//
功能 任务线程(下标)
    变量 ts_ret
    //线程内绑定窗口
    调试输出("[任务线程] Index" & Index)
    调试输出("[任务线程] 传入的下标" & 下标)
    //创建天使对象
    ts_R[下标] = com("ts.tssoft")
    //设置全局路径
    ts_R[下标].SetPath(获取资源路径("rc"))
    //ts_R[下标].SetDict(0, "ts_soft.txt")  //设置字库用到的命令,serdict//天使可以设置到最多20个字库
    ts_ret = ts_R[下标].BindWindow(窗口句柄数组[下标], "normal","normal","normal",101)
    如果(ts_ret == 1)
        调试输出("[任务线程] 任务线程绑定成功")
        //下面就可以根据脚本界面的功能选择情况来调用功能函数
        //开始写做各个任务的代码
    否则
        调试输出("[任务线程] 任务线程绑定失败")
        消息框("错误代码: 03 1.请完全退出360及杀软,再次运行脚本 \n\r 2.如果仍然无法运行脚本,请卸载360及杀软,重启电脑 \n\r 3.如果仍然无法运行脚本,请尝试关闭防火墙!")
    结束
结束
//==========================================//
//-----------------检测线程-----------------//
功能 检测线程(下标)
    变量 ts_ret
    调试输出("[检测线程] 下标: " & 下标)
    //创建天使对象
    ts_J[下标] = com("ts.tssoft")
    ts_J[下标].SetPath(获取资源路径("rc"))
    //ts_J[下标].SetDict(0, "ts_soft.txt")  //设置字库用到的命令,serdict//天使可以设置到最多20个字库
    ts_ret = ts_J[下标].BindWindow(窗口句柄数组[下标], "normal","normal","normal",101)
    如果(ts_ret == 1)
        调试输出("[检测线程] 任务线程绑定成功")
        循环(文件读配置(转字符型(窗口句柄数组[下标]),"检测开关",  "c:\\Global.ini") == "1")
            // 验证处理(1,转字符型(窗口句柄数组[下标]),下标)    //自己做自己的封包
            // 补血(1,转字符型(窗口句柄数组[下标]),下标)        //自己做自己的封包
            // 补篮(1,转字符型(窗口句柄数组[下标]),下标)        //自己做自己的封包
            等待(1000)
        结束
    否则
        调试输出("[检测线程] 检测线程绑定失败")
        消息框("错误代码: 03 1.请完全退出360及杀软,再次运行脚本 \n\r 2.如果仍然无法运行脚本,请卸载360及杀软,重启电脑 \n\r 3.如果仍然无法运行脚本,请尝试关闭防火墙!")
        退出 ()
    结束
   
结束
//==========================================//
来找错误喽
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-21 22:31 , Processed in 0.030816 second(s), 22 queries .

Powered by 海安简单软件服务部

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

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