• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[技术交流] 【院刊】-【201501期】沙盘后台绑定游戏 [复制链接]

1#


沙盘后台绑定游戏

本文按键学院提供技术支持


在上一期的院刊中,我们说到了如何使用沙盘以及一些要注意的地方。现在,我们一起来看看,沙盘的后台绑定要怎么实现。





步骤1- 沙盘设置

上一期中,有说到,要使用沙盘进行后台绑定,咱们需要先设置下沙盘。

如果还有童鞋不知道如何设置沙盘,可阅读下上一期的院刊:如何使用沙盘多开游戏




步骤2-查找窗口句柄

小编找了个“456游戏平台”作为今天的例子,实现大漠后台绑定沙盘后对游戏窗口进行点击的效果。

今天,我们使用search命令来查找窗口句柄。

命令名称Search 遍历符合窗口
命令功能遍历符合窗口标题的句柄保存到数值串里
命令参数参数1 字符串型,窗口符合的标题
返 回 值字符串型,句柄数值串

首先,我们需要获取游戏窗口的标题,用抓抓工具来获取。

您所在的用户组无法下载或查看附件


search命令代码如下:
  1. HwndEx = Plugin.Window.Search("456游戏中心")
复制代码
可能会有很多童鞋载在这里,认为hwndex就是当前窗口的句柄。
实际上,search命令的返回值是字符串,hwndex中所存放的: 句柄加上 “|” 这样的内容。
例如,找到了两个符合窗口标题的窗口句柄, 12345和45678 那么hwndex中存放的就是:
12345|45678|
所以,我们得到这个返回值之后,还需要使用split函数分割。

代码如下:
  1. HwndEx = Plugin.Window.Search("456游戏中心")
  2. MyArray = Split(HwndEx, "|")
  3. If UBound(MyArray) >= 0 Then
  4. i=0
  5. For UBound(MyArray)
  6. TracePrint MyArray(i)
  7. i=i+1
  8. Next
  9. End If
复制代码
分割之后的句柄存放在数组 [backcolor=rgb(247, 247, 247)]MyArray 中。

您所在的用户组无法下载或查看附件



注意:search命令是模糊查找,也就是说,如果你要查找的是窗口标题符合"456游戏中心",那么,"456游戏中心123" 也符合条件。


步骤3-绑定窗口
大漠里绑定模式那么多,我怎么知道要用哪种呢?
这里小编分享一个大漠绑定测试工具。

大漠绑定测试工具使用:
第一步:
获取要测试的窗口句柄


您所在的用户组无法下载或查看附件




第二步:
选择绑定模式,点击绑定,查看返回值

您所在的用户组无法下载或查看附件



如果返回值为1,则说明绑定模式可行。如果返回值是0,则说明绑定模式不可行。

注意:绑定模式可行并不代表图色、键鼠、文本输入就一定可以。

所以,绑定模式可行之后,我们还需要测试图色、键鼠、文本是否可以用:

您所在的用户组无法下载或查看附件



第三步:
测试图色、键鼠等都可行之后,点击“生成绑定代码

您所在的用户组无法下载或查看附件



这里需要注意下,生成的代码中:
dm.ret = dm.BindWindowEx(hwnd, "dx2", "windows3", "windows", "", 0)
dm.ret 这个需要修改下,修改为dm_ret或者其它变量名。


绑定模式确定之后,使用多线程多开的方式来操作点击窗口。


整体代码
  1. call register()
  2. DimEnv hwnd
  3. HwndEx = Plugin.Window.Search("456游戏中心")
  4. MyArray = Split(HwndEx, "|")
  5. If UBound(MyArray) >= 0 Then
  6. i=0
  7. For UBound(MyArray)
  8. TracePrint "第 " & i + 1 & " 个窗口句柄为:" & MyArray(i) ///提示信息
  9. hwnd=MyArray(i)
  10. i = i + 1
  11. BeginThread 点击
  12. Next
  13. End If
  14. Sub 点击
  15. Set dm = createobject("dm.dmsoft")
  16. jubing = hwnd
  17. dm_ret = dm.BindWindowEx(jubing, "dx2", "windows3", "windows", "", 0)
  18. If dm_ret = 1 Then //判断是否绑定成功,成功则继续后续的动作
  19. TracePrint "绑定成功"

  20. dm.moveto 99, 281
  21. dm.leftclick
  22. TracePrint "点击牌类游戏"
  23. dm.moveto 99, 307
  24. dm.leftclick
  25. TracePrint "点击欢乐五张"
  26. dm.moveto 118, 335
  27. dm.leftclick
  28. TracePrint "点击中国电信"
  29. dm.moveto 140, 306
  30. dm.leftclick
  31. TracePrint "双击地摊1"
  32. End If
  33. End sub

  34. Sub register() ////////////注册大漠
  35. Set ws = createobject("Wscript.Shell")
  36. ws.run "regsvr32 atl.dll /s"
  37. Set ws = nothing
  38. PutAttachment "G:\test", "dm.dll"
  39. PutAttachment ".\Plugin" ,"RegDll.dll"
  40. call Plugin.RegDll.Reg ( "G:\test\dm.dll")
  41. Set dm = createobject("dm.dmsoft")
  42. ver = dm.ver()
  43. If len(ver) = 0 Then
  44. MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
  45. EndScript
  46. End If
  47. End Sub

  48. Sub OnScriptExit() //解绑大漠
  49. dm_ret = dm.UnBindWindow()
  50. End Sub
复制代码
要点分析:

为什么在sub 点击 子程序里要写下面的这句代码呢?
  1. Set dm = createobject("dm.dmsoft")
复制代码
这句代码的作用是创建一个大漠对象。
新的线程是不能延用主线程里所创建的大漠对象的,所以在这里需要重新创建一个大漠对象。


小编想进这个游戏试试,奈何这游戏要充值,而且充值系统还在维护~~泪奔,所以今天就以平台界面点击作为例子,童鞋们有兴趣的话,可以找其它游戏试验下沙盘的后台绑定功能,欢迎分享心得。


大漠绑定工具下载:
您所在的用户组无法下载或查看附件








本文按键学院提供技术支持

━═━═━━═━═━━═━═━━═━═━◥◤━═━═━━═━═━━═━═━═━━═━═━

有钱,就是任性!按键学院的导师就是土豪!

按键学院实战班


本主题由 超级版主 瑞祥幽冥狼 于 2023/6/3 8:42:35 执行 审核帖子 操作
按键学院免费交流群:376122403

按键学院招生计划
按键学院系统教程
2#

为了打游戏要学好多知识_(:з」∠)_

3#

沙盘里面运行?

4#

标题最多为60个字符,还可输入60

5#

dddddddd

6#

沙盘后台绑定游戏

7#

学海无涯苦作舟




[url=http://www.baidu.com]<font color=&quot;Red&quot;>有事你Call我
8#

看看

9#

沙盘后台绑定游戏

10#

66666666

11#

11111

12#

dsdsdsadsadsad

13#

1111111111111111

14#

DDDDDDDDDDDDDD

15#

666666666666666666

16#

ddddddddddd

17#

1234545454646

18#

嘻嘻嘻

承接各类脚本
QQ:184068599

19#

窥探究竟

QQ836542817
承接各类脚本
价格公道,售后质量保证
20#

新手前来学习

发新话题 回复该主题