TC官方合作论坛

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

[已解决] 不用线程多开绑定没问题,用线程就失效是怎么回事啊

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

马上加入TC

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

x
本帖最后由 aoaoawei 于 2014-8-18 18:09 编辑

功能 按钮一键启动_点击()
       guagua.自动登录()       这里不用线程就没问题,用了这个 //自动登录线程句柄 = 线程.开启("guagua.自动登录", "")以后,一旦进入任务线程和检测线程绑定就失效了,请帮我看看哪里不对啊
功能结束
//----------------------自动登录--------------------------------//
功能 自动登录()
。。。太长省略
遍历(i=0;i<行数;i++)
。。。太长省略
     guagua.登录绑定(句柄)

遍历结束------------------------
循环(真)                                  //奇怪了,今天试了下在这里加入一个空循环也能


正常辅助.等待(1000)
循环结束
功能结束
-----------------
//------------------------登录绑定---------------------------//
功能 登录绑定(句柄)
    变量 dm_ret, 错误码, 下标, 长度
    下标 = 数组空间.查找(窗口句柄数组, 句柄)
  dm数组[下标] = com("dm.dmsoft")
    dm数组[下标].SetPath(辅助.获取资源路径("rc:"))
    dm数组[下标].SetDict(0,"字库.txt")

    dm_ret=dm数组[下标].BindWindowEx(窗口句柄数组[下标],"dx","dx","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input","dx.public.graphic.protect|dx.public.active.message",0)

    如果(dm_ret == 1)
        //绑定成功
        traceprint("绑定成功")
        辅助.等待(500)
        guagua.掉线登录(下标)  //这里是自动登陆的
       任务线程[下标]=线程.开启("guagua.任务线程",下标)   //如果上面的按钮用线程的话,一旦账号登陆完毕到这里就解绑了,不用线程就没事,但是辅助就卡死了
        检测线程[下标]=线程.开启("guagua.检测状态",下标)

    否则
        错误码 = dm数组[下标].GetLastError()
        调试输出("[主窗口绑定] 错误码: " & 错误码)
        辅助.消息框("主窗口绑定失败")
    如果结束

功能结束
//---------------------------------任务线程-----------------------------
功能 任务线程(下标)

    循环(真)


                guagua.野**机(下标)

    循环结束      
功能结束
//------------------检测线程-----------------
功能 检测状态(下标)

    循环(真)

        guagua.死亡检测(下标)

    循环结束
功能结束





回复

使用道具 举报

沙发
发表于 2014-8-18 10:19:18 | 只看该作者
开启的线程就必须在线程里重新 创建对象 设置字库 重新绑定,还有你循环里加点延时,不加延时循环太快,容易卡死
回复 支持 反对

使用道具 举报

板凳
发表于 2014-8-18 11:03:34 | 只看该作者
本帖最后由 610761555 于 2014-8-18 11:04 编辑

线程的大漠对象没传好吧
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-8-18 14:59:40 | 只看该作者
线程里绑定我试了,但是第2个号绑定失败
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-8-18 15:03:34 | 只看该作者
功能 任务线程(下标)
    变量 任务列表
    dm_R[下标] = com("dm.dmsoft")
    dm_R[下标].SetPath(辅助.获取资源路径("rc:"))
    dm_R[下标].SetDict(0,"字库.txt")
    dm_ret=dm_R[下标].BindWindowEx(窗口句柄数组[下标],"dx","dx","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input","dx.public.graphic.protect|dx.public.active.message",0)

    如果(dm_ret == 1)
        循环(真)
            辅助.等待(200)


                    guagua.野**机(下标)

            如果结束

        循环结束
    否则
        调试输出("[任务线程] 任务线程绑定失败")
        辅助.退出()
    如果结束
  
功能结束

功能 检测状态(下标)
    dm_J[下标] = com("dm.dmsoft")
    dm_J[下标].SetPath(辅助.获取资源路径("rc:"))
    dm_J[下标].SetDict(0,"字库.txt")

    dm_ret=dm_J[下标].BindWindowEx(窗口句柄数组[下标],"dx","dx","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input","dx.public.graphic.protect|dx.public.active.message",0)

    如果(dm_ret == 1)

        循环(真)

            guagua.死亡检测(下标)

        循环结束
    否则
        辅助.退出()  
    如果结束
   
功能结束

第2个号任务线程绑定失败

回复 支持 反对

使用道具 举报

6#
发表于 2015-6-28 02:24:53 | 只看该作者
我也遇到这个问题,不用第一个线程开启第二个和第三个线程能绑定,如果用第一个线程开启后边两个线程后,绑定一下就失效了.都不知什样解决.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-22 06:57 , Processed in 0.153085 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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