易语言大漠多线程模块制作及游戏实战方法2-多线程类模块调用实战

多线程类模块调用实战源码

.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 遇见, 类_多线程, , , 这是多线程调用!!!!
.程序集变量 游戏窗口数量, 整数型
.程序集变量 hwnd, 整数型, , "0", 线程的句柄为数组
.程序集变量 线程ID, 整数型, , "0", 线程ID
.程序集变量 许可证, 线程许可证

.子程序 _按钮1_被单击, , , 启动多线程
.局部变量 进程ID数组, 整数型, , "0"
.局部变量 i, 整数型

.如果 (进程_取ID数组 (“gamefree.exe”, 进程ID数组, ) = 0)
信息框 (“请先开启多个游戏窗口!”, 0, , )
.否则

.如果结束

游戏窗口数量 = 取数组成员数 (进程ID数组)
重定义数组 (hwnd, 假, 游戏窗口数量)
重定义数组 (线程ID, 假, 游戏窗口数量)
.计次循环首 (游戏窗口数量, i)
' 开始类多线程模块的初始化,作用就是释放大漠的插件和创建大漠对象
遇见.插件初始化 (, i)
' 获取游戏窗口的句柄
hwnd [i] = 进程_ID取窗口句柄 (进程ID数组 [i], , , )
' 开始绑定游戏窗口
.如果 (遇见.BindWindow (hwnd [i], “dx”, “dx2”, “windows”, 0, i) = 1)
' 启动多线程了
hwnd [i] = 线程_启动 (&多线程, i, 线程ID [i])

.否则
信息框 (“绑定失败!”, 0, , )
.如果结束

.计次循环尾 ()

.子程序 多线程
.参数 线程参数, 整数型, , 用来接收多线程的大漠数组的序号

许可证 = 线程_创建许可证 ()
线程_进入许可证 (许可证)
线程_初始化com ()

打怪 (线程参数)
' 跑路 (线程参数)

线程_取消com ()
线程_退出许可证 (许可证)
线程_删除许可证 (许可证)

.子程序 打怪
.参数 线程参数, 整数型, , 用来接收多线程的大漠数组的序号
.局部变量 n, 整数型

.计次循环首 (100, n)
遇见.KeyPress (115, 线程参数)
延迟 (1000)
.计次循环尾 ()

.子程序 跑路
.参数 线程参数

.子程序 _按钮2_被单击, , , 销毁多线程
.局部变量 i, 整数型

.计次循环首 (游戏窗口数量, i)
线程_销毁 (hwnd [i])
.计次循环尾 ()

.子程序 _按钮3_被单击, , , 线程 1 挂起

线程_挂起 (hwnd [1])

.子程序 _按钮4_被单击, , , 线程 1 恢复

线程_恢复 (hwnd [1])


发布日期:

所属分类: 易语言 标签: