易语言大漠雷电模拟器多开后台绑定-2

说明:
所谓雷电模拟器多开后台绑定方法的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])

.计次循环尾 ()


发布日期:

所属分类: 编程 标签:   


没有相关文章!