TC官方合作论坛

标题: 纯TC网页多开找图 [打印本页]

作者: ZYD559    时间: 2014-2-28 01:23
标题: 纯TC网页多开找图
小弟用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

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


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

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

作者: cylhb    时间: 2014-2-28 01:50
楼上的说得对,。
又或者你非要用那种浏览器,可以换种方式换取句柄,比如用鼠标获取。那样会准确许多
作者: zxw445    时间: 2014-2-28 08:29
做网页版的游戏,建议使用TC制作浏览器的,这样减少很多无用的句柄

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

作者: ZYD559    时间: 2014-2-28 09:54
dongyijun1979 发表于 2014-2-28 01:42
(1)没错,你是开了3个游戏窗口。但你用类名却枚举出了7个窗口类名为“MacromediaFlashPlayerActiveX”的 ...

我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一个账号领取。用360游戏大厅开小号是因为很方便,另一方面也是因为本人技术不高。虽然类名枚举出现多个窗口,但是只要我的360游戏大厅置顶,脚本枚举的前三个句柄必是360游戏大厅的三个,谢谢!
作者: ZYD559    时间: 2014-2-28 09:55
cylhb 发表于 2014-2-28 01:50
楼上的说得对,。
又或者你非要用那种浏览器,可以换种方式换取句柄,比如用鼠标获取。那样会准确许多 ...

窗口句柄没有问题,用鼠标获取的方式在这里不太适合我,谢谢
作者: ZYD559    时间: 2014-2-28 09:58
zxw445 发表于 2014-2-28 08:29
做网页版的游戏,建议使用TC制作浏览器的,这样减少很多无用的句柄

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

是在脚本里面内置浏览器的那种吗?那样会出验证,不会写远程打码的代码啊,要是可以的话希望教教我,谢谢
作者: 小西    时间: 2014-2-28 11:15
ZYD559 发表于 2014-2-28 09:54
我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一 ...

枚举得到的句柄,最靠前的句柄窗口,是最后操作或是说激活过的窗口.
你将这里的调试输出 句柄,改成 输出句柄 以及句柄对应的窗口名.
这样子能比较明显看出句柄是否有误.
另外,在找图的操作地方,加入一个截图.由句柄得到窗口位置,再用窗口顶点坐标,加上你找图的范围,用来截图
看看截得的图片中,是否有要找的图.
最后,启动脚本前对需要操作的窗口依次做一次激活.这样看一下结果.
作者: dongyijun1979    时间: 2014-2-28 11:33
ZYD559 发表于 2014-2-28 09:54
我除了用360的游戏大厅之外还用QQ的游戏大厅开了个大号,因为QQ游戏大厅每天都有东西可以领取,但只能一 ...

你的360游戏大厅老是置顶,你觉得舒服吗
作者: ZYD559    时间: 2014-2-28 12:02
dongyijun1979 发表于 2014-2-28 11:33
你的360游戏大厅老是置顶,你觉得舒服吗

获取窗口的时候置顶就可以了,一下下而已。用360游戏大厅主要是为了方便,没有验证码
作者: ZYD559    时间: 2014-2-28 12:07
小西 发表于 2014-2-28 11:15
枚举得到的句柄,最靠前的句柄窗口,是最后操作或是说激活过的窗口.
你将这里的调试输出 句柄,改成 输出句 ...

哇,连说话的语气都像大神,膜拜啊!我先试试,呵呵!
作者: dongyijun1979    时间: 2014-2-28 12:16
哦,这样啊
作者: zxw445    时间: 2014-3-1 00:32
ZYD559 发表于 2014-2-28 12:02
获取窗口的时候置顶就可以了,一下下而已。用360游戏大厅主要是为了方便,没有验证码 ...

如果想代答,我论坛有个例子,就怕你不会看而已。

而且其实有些代答都有相关例子可以看,如果你能看得懂就可以写了。
作者: xmm1100    时间: 2014-3-1 08:43
学习中!
作者: 今非    时间: 2014-3-1 09:13
请采纳如果我的回答帮助到了你 !

建议你把获取到的窗口 加判断 是否为可见窗口  加判断后能得到你想要的窗口句柄

温馨提示6 : 术语问题可以去问百度 , 或者你可以叫她度娘
作者: ZYD559    时间: 2014-3-1 12:24
zxw445 发表于 2014-3-1 00:32
如果想代答,我论坛有个例子,就怕你不会看而已。

而且其实有些代答都有相关例子可以看,如果你能看得懂 ...

谢谢




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1