TC官方合作论坛

 找回密码
 立即注册
查看: 2406|回复: 15

[已解决] 纯TC网页多开找图

[复制链接]
发表于 2014-2-28 01:23:45 | 显示全部楼层 |阅读模式

马上加入TC

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

x
小弟用360游戏大厅开了三个小号窗口(网页游戏),然后纯TC写了个脚本,用类名进行系统枚举,游戏窗口句柄、开启等方面都没发现存在什么问题,只是找图点击的时候只有一个窗口能找到进行点击,而其他两个窗口则没有点击,用的如果..否则..语句,其它两个句柄的调试输出是“没有找到”,但是如果指定位置移动点击则三个都可以。图色方面应该也没有什么问题,因为三个窗口都是一样的。请过几个朋友帮看了下,他们说代码应该没有什么问题的,具体什么原因他们也搞不懂,可能都是新手吧!小弟肯定各位大神指点下,给点宝贵意见,谢谢!

以下是相关代码:
空间 王者风范

功能 开始_点击()
    王者风范.主线程控制()
功能结束

功能 主线程控制()
    调试输出("能进入主线程控制区")
    变量 枚举结果,数组大小,I=0,窗口句柄
    枚举结果=系统.枚举("MacromediaFlashPlayerActiveX",1)
    调试输出(枚举结果)
    字符串.分割(枚举结果,"|",窗口句柄)

     遍历(I=0;I<3;I++)
     变量 参数=窗口句柄[I]
     线程.开启("王者风范.实际功能",参数)
      调试输出(窗口句柄[I])
      辅助.等待(2000)
    遍历结束   
功能结束
功能 实际功能(参数)
    调试输出("能进入实际功能")
    变量 窗口句柄=参数
    变量 X,Y  
    如果(窗口.找图(窗口句柄,885,483,1173,683,"rc:好友窗口.bmp",#102030,0.9,0,X,Y)==0)
        窗口.鼠标移动(窗口句柄,X,Y)  
        辅助.等待(20)
        窗口.鼠标左键单击(窗口句柄,X,Y)
        辅助.等待(50)
        调试输出("已找到")
    否则
        调试输出("没有找到")
    如果结束

功能结束

以下是调试输出内容:
>C:\Users\Administrator\Desktop\王者风范\生成\王者风范.exe 生成成功

输出>>"能进入主线程控制区"          行号:11 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"1184156|6820938|23400146|7866542|461160|116590038|788424"          行号:15 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"1184156"          行号:22 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"能进入实际功能"          行号:27 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"已找到"          行号:36 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"6820938"          行号:22 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"没有找到"          行号:38 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"23400146"          行号:22 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"能进入实际功能"          行号:27 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t
输出>>"没有找到"          行号:38 文件:c:\users\administrator\desktop\王者风范\王者风范\王者风范.t

麻烦各位大神了,小弟在此谢过

回复

使用道具 举报

发表于 2014-2-28 11:15:38 | 显示全部楼层
ZYD559 发表于 2014-2-28 09:54
我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一 ...

枚举得到的句柄,最靠前的句柄窗口,是最后操作或是说激活过的窗口.
你将这里的调试输出 句柄,改成 输出句柄 以及句柄对应的窗口名.
这样子能比较明显看出句柄是否有误.
另外,在找图的操作地方,加入一个截图.由句柄得到窗口位置,再用窗口顶点坐标,加上你找图的范围,用来截图
看看截得的图片中,是否有要找的图.
最后,启动脚本前对需要操作的窗口依次做一次激活.这样看一下结果.
回复 支持 反对

使用道具 举报

发表于 2014-2-28 01:42:40 | 显示全部楼层
(1)没错,你是开了3个游戏窗口。但你用类名却枚举出了7个窗口类名为“MacromediaFlashPlayerActiveX”的窗口句柄,你想想这是为什么?(显然此时窗口类名叫“MacromediaFlashPlayerActiveX”的窗口怕不止你那三个游戏窗口吧)
(2)你凭什么认为你的“窗口句柄“数组中前三个元素值刚好就一定是你那三个游戏窗口的窗口句柄?(是你想当然了)

建议:你用脚本的话,打开游戏就不要用那种大厅之类的浏览器,窗口之间父子关系不好掌控。你自己搞一个专用浏览器去开游戏。
回复 支持 反对

使用道具 举报

发表于 2014-2-28 01:50:51 | 显示全部楼层
楼上的说得对,。
又或者你非要用那种浏览器,可以换种方式换取句柄,比如用鼠标获取。那样会准确许多
回复 支持 反对

使用道具 举报

发表于 2014-2-28 08:29:56 | 显示全部楼层
做网页版的游戏,建议使用TC制作浏览器的,这样减少很多无用的句柄

而用网页版的浏览器,用寻找类名的方法找句柄是很难掌握,除非使用获取当前鼠标所在句柄这个命令才能轻易掌握正确句柄
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 09:54:09 | 显示全部楼层
dongyijun1979 发表于 2014-2-28 01:42
(1)没错,你是开了3个游戏窗口。但你用类名却枚举出了7个窗口类名为“MacromediaFlashPlayerActiveX”的 ...

我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一个账号领取。用360游戏大厅开小号是因为很方便,另一方面也是因为本人技术不高。虽然类名枚举出现多个窗口,但是只要我的360游戏大厅置顶,脚本枚举的前三个句柄必是360游戏大厅的三个,谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 09:55:23 | 显示全部楼层
cylhb 发表于 2014-2-28 01:50
楼上的说得对,。
又或者你非要用那种浏览器,可以换种方式换取句柄,比如用鼠标获取。那样会准确许多 ...

窗口句柄没有问题,用鼠标获取的方式在这里不太适合我,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 09:58:40 | 显示全部楼层
zxw445 发表于 2014-2-28 08:29
做网页版的游戏,建议使用TC制作浏览器的,这样减少很多无用的句柄

而用网页版的浏览器,用寻找类名的方法 ...

是在脚本里面内置浏览器的那种吗?那样会出验证,不会写远程打码的代码啊,要是可以的话希望教教我,谢谢
回复 支持 反对

使用道具 举报

发表于 2014-2-28 11:33:57 | 显示全部楼层
ZYD559 发表于 2014-2-28 09:54
我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一 ...

你的360游戏大厅老是置顶,你觉得舒服吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 12:02:34 | 显示全部楼层
dongyijun1979 发表于 2014-2-28 11:33
你的360游戏大厅老是置顶,你觉得舒服吗

获取窗口的时候置顶就可以了,一下下而已。用360游戏大厅主要是为了方便,没有验证码
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-24 11:57 , Processed in 0.037711 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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