文章目录[隐藏]
本课和第一课的区别主要是在枚举子窗口句柄的时候用到的命令不同,本课使用了大漠的 EnumWindow 来枚举所有子窗口。
说明:
所谓雷电模拟器多开后台绑定方法的1和2主要是获取子窗口句柄的方法不同:
一个是自己封装的API(窗口_取所有子句柄)
一个是使用大漠的EnumWindow来枚举子窗口
拓展应用:
以上两种方法适用于所有需要绑定子窗口的方法。
雷电模拟器多开后台绑定 核心源码
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 模拟器数量, 整数型
.程序集变量 hwnd, 整数型, , "0", 窗口句柄
.程序集变量 许可证, 线程许可证
.子程序 _按钮1_被单击
.局部变量 i, 整数型
.局部变量 hwnds, 文本型
.局部变量 进程ID数组, 整数型, , "0"
进程_取ID数组 (“dnplayer.exe”, 进程ID数组, )
模拟器数量 = 取数组成员数 (进程ID数组)
重定义数组 (hwnd, 假, 模拟器数量)
.计次循环首 (模拟器数量, i)
' 开始大漠的初始化,也就是释放大漠插件,从创建大漠对象
插件初始化多 (i)
' 获取游戏窗口句柄,这里是获取的父窗口的句柄
hwnd [i] = 进程_ID取窗口句柄 (进程ID数组 [i], , , )
' 开始获取子窗口的句柄,也就是游戏客户区窗口的句柄
hwnds = EnumWindow (hwnd [i], “TheRender”, “RenderWindow”, 1 + 2 + 4 + 8 + 16, i)
调试输出 (hwnds)
' 有了子窗口的句柄,就可以开始绑定了
BindWindow (到整数 (hwnds), “gdi”, “windows”, “windows”, 0, i)
' 绑定后就可以多线程了
线程_启动 (&多线程, i, )
.计次循环尾 ()
.子程序 多线程
.参数 数组序号
许可证 = 线程_创建许可证 ()
线程_进入许可证 (许可证)
线程_初始化com ()
动作 (数组序号)
UnBindWindow (数组序号)
大漠销毁多 (数组序号)
线程_取消com ()
线程_退出许可证 (许可证)
线程_删除许可证 (许可证)
.子程序 动作
.参数 数组序号
.局部变量 n, 整数型
.计次循环首 (100, n)
延时 (100)
MoveTo (340, 16, 数组序号)
延迟 (2000)
LeftClick (数组序号)
延迟 (1000)
.计次循环尾 ()
.子程序 _按钮2_被单击, , , 一键关闭
.局部变量 进程ID数组, 整数型, , "0"
.局部变量 n, 整数型
进程_取ID数组 (“dnplayer.exe”, 进程ID数组, )
.计次循环首 (取数组成员数 (进程ID数组), n)
进程_结束 (进程ID数组 [n])
.计次循环尾 ()
优酷土豆链接:511遇见易语言大漠雷电模拟器多开后台绑定-2
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
易语言大漠雷电模拟器天龙八部手游外挂:http://list.youku.com/albumlist/show/id_49976103
交流群:521068947
本人QQ: 272586593