多语言展示
当前在线:195今日阅读:23今日分享:31

按键精灵技术教程:沙盘后台绑定游戏

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

按键精灵2014

方法/步骤
2

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

3

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

4

代码如下:HwndEx = Plugin.Window.Search('456游戏中心')MyArray = Split(HwndEx, '|')   If UBound(MyArray) >= 0 Then     i=0       For UBound(MyArray)                    TracePrint MyArray(i)         i=i+1    Next  End If 分割之后的句柄存放在数组 MyArray 中。

5

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

6

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

7

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

8

如果返回值为1,则说明绑定模式可行。如果返回值是0,则说明绑定模式不可行。      注意:绑定模式可行并不代表图色、键鼠、文本输入就一定可以。        所以,绑定模式可行之后,我们还需要测试图色、键鼠、文本是否可以用:

9

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

10

这里需要注意下,生成的代码中:            dm.ret = dm.BindWindowEx(hwnd, 'dx2', 'windows3', 'windows', '', 0)          dm.ret 这个需要修改下,修改为dm_ret或者其它变量名。          绑定模式确定之后,使用多线程多开的方式来操作点击窗口。

11

整体代码 call  register()DimEnv hwndHwndEx = Plugin.Window.Search('456游戏中心')MyArray = Split(HwndEx, '|')   If UBound(MyArray) >= 0 Then     i=0       For UBound(MyArray)            TracePrint '第 ' & i + 1 & ' 个窗口句柄为:' & MyArray(i)  ///提示信息        hwnd=MyArray(i)        i = i + 1        BeginThread 点击    Next  End If   Sub 点击Set dm = createobject('dm.dmsoft')    jubing = hwnd    dm_ret = dm.BindWindowEx(jubing, 'dx2', 'windows3', 'windows', '', 0)    If dm_ret = 1 Then   //判断是否绑定成功,成功则继续后续的动作        TracePrint '绑定成功' dm.moveto 99, 281        dm.leftclick         TracePrint '点击牌类游戏'        dm.moveto 99, 307        dm.leftclick         TracePrint '点击欢乐五张'        dm.moveto 118, 335        dm.leftclick         TracePrint '点击中国电信'        dm.moveto 140, 306        dm.leftclick         TracePrint '双击地摊1'    End IfEnd sub Sub register() ////////////注册大漠    Set ws = createobject('Wscript.Shell')    ws.run 'regsvr32 atl.dll /s'    Set ws = nothing    PutAttachment 'G:\test', 'dm.dll'    PutAttachment '.\Plugin' ,'RegDll.dll'    call Plugin.RegDll.Reg ( 'G:\test\dm.dll')    Set dm = createobject('dm.dmsoft')    ver = dm.ver()    If len(ver) = 0 Then        MessageBox '插件注册失败,检查系统是否禁用了vbs脚本权限'        EndScript    End IfEnd Sub  Sub OnScriptExit() //解绑大漠    dm_ret = dm.UnBindWindow() End Sub

12

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

推荐信息