开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 402|回复: 5
收起左侧

[完成] 求一个监控线程的模板学习一下。找了好多都是监控线程...

 关闭 [复制链接]
结帖率:67% (2/3)
发表于 2025-12-14 01:44:41 | 显示全部楼层 |阅读模式   上海市上海市
60精币


我自己的写法是:监控线程、主线程共用一个大漠。
监控线程里面有一个变量用来控制主线程无限循环延迟,避开大漠争夺。
想看看有没有别的跟优质的写法

最佳答案

查看完整内容

[e=0].版本 2 .支持库 iext .支持库 EThread .子程序 _按钮_全部开始_被单击 重定义数组 (大漠多线程, 假, 超级列表框1.取表项数 ()) 启动线程 (&脚本总线程, , 全局_主线程句柄) ' 启动主线程,即脚本的循环登录总控制 启动线程 (&全局监控线程, , 全局_监控句柄) ' 启动全局的监控线程,用于重启线程,也可以对全局的窗口运行情况做监控’这个不一定需要,而且大部分情况下可以不要,除非你真的能用好 .子程序 全局监控线 ...
结帖率:100% (36/36)

签到天数: 1 天

发表于 2025-12-14 01:44:42 | 显示全部楼层   湖北省恩施土家族苗族自治州
  
子程序名返回值类型公开备 注
_按钮_全部开始_被单击  
重定义数组 (大漠多线程, 假, 超级列表框1.取表项数 ())
启动线程 (&脚本总线程, , 全局_主线程句柄)  ' 启动主线程,即脚本的循环登录总控制
启动线程 (&全局监控线程, , 全局_监控句柄)  ' 启动全局的监控线程,用于重启线程,也可以对全局的窗口运行情况做监控’这个不一定需要,而且大部分情况下可以不要,除非你真的能用好
子程序名返回值类型公开备 注
全局监控线程  
变量名类 型静态数组备 注
i整数型 
表项数整数型 
全局监控控制 = 真
表项数 = 超级列表框1.取表项数 ()
判断循环首 (全局监控控制)
计次循环首 (表项数, i)
如果真 (全局监控控制 = )
跳出循环 ()

如果真 (大漠多线程 [i].线程重启 = )  ' 当窗口任务出现错误需要重启时,将大漠多线程 [i].重启线程置为真,重启此窗口线程’注意,重启线程要尽量避免,势必会造成多线程框架的不稳定因素增加。
超级列表框1.置标题 (i - 1, 9, “重启线程”)
大漠多线程 [i].dm.UnBindWindow ()
ADB_雷电模拟器_关闭某个 (全局_adb路径, 大漠多线程 [i].模拟器序号)
大漠多线程 [i].监控线程状态 =   ' 如果窗口监控线程开启了,在这里结束窗口监控线程
如果真 (WaitForSingleObject (大漠多线程 [i].监控句柄, 3000) ≠ 0)
强制结束线程 (大漠多线程 [i].监控句柄)
关闭线程句柄 (大漠多线程 [i].监控句柄)
大漠多线程 [i].窗口线程状态 = 假
如果真 (WaitForSingleObject (大漠多线程 [i].线程句柄, 3000) ≠ 0)
强制结束线程 (大漠多线程 [i].线程句柄)
关闭线程句柄 (大漠多线程 [i].线程句柄)
大漠多线程 [i].线程句柄 = 0
大漠多线程 [i].进程ID = 0
大漠多线程 [i].游戏句柄 = 0
辅助延时 (1000, )
大漠多线程 [i].线程重启 = 假
启动线程 (&窗口线程, i, 大漠多线程 [i].线程句柄)
辅助延时 (500, )
启动线程 (&窗口监控线程, i, 大漠多线程 [i].监控句柄)  ' 注意,如果你没有启动窗口监控线程,或者窗口监控线程是放在绑定以后或者登录以后启动,那这里就不需要这一句了’
辅助延时 (500, )

计次循环尾 ()
辅助延时 (2000, )
判断循环尾 ()
子程序名返回值类型公开备 注
窗口监控线程  
参数名类 型参考可空数组备 注
i整数型
变量名类 型静态数组备 注
dmdmsoft 
ret整数型 
CoInitializeEx (0, 0)  ' 此处为窗口监控线程,主要用来对该窗口的运行过程中做一些辅助处理,比如不定时的验证码,又或者掉线时,可以在该线程暂停大漠多线程[i].线程句柄,登录进入游戏以后再继续大漠多线程[i].线程句柄,这条线程可以开,也可以不开,根据自己的写法来
大漠多线程 [i].xm.创建对象 ()
dm = 大漠多线程 [i].xm
dm.SetShowErrorMsg (0)
dm.SetPath (取运行目录 ()“\pic\”)
' 这里写置全局路径、声明字库、设置图片密码等一系列准备工作
判断循环首 ()  ' 绑定窗口
如果真 (大漠多线程 [i].游戏句柄 > 0)
辅助延时 (1000, )
ret = dm.BindWindowEx (大漠多线程 [i].游戏句柄, “dx.graphic.opengl”, “dx.mouse.position.lock.api”, “windows”, “”, 0)
辅助延时 (500, )
如果真 (ret = 1)
调试输出 (“副绑定成功”)
跳出循环 ()

辅助延时 (1000, )
判断循环尾 ()
如果真 (ret = 1)
判断循环首 (大漠多线程 [i].监控线程状态)
' 调试输出 (“监控中”)
脚本延时_监控线程 (i, 2000)
判断循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一
EThread多线程支持库
spec特殊功能支持库
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 7 天

发表于 2025-12-14 09:50:22 | 显示全部楼层   广东省湛江市
就不能直接主线程一个对象,监控线程一个对象吗?
回复

使用道具 举报

结帖率:100% (36/36)

签到天数: 1 天

发表于 2025-12-14 12:54:11 | 显示全部楼层   湖北省恩施土家族苗族自治州
监控线程单开对象,单独注册
回复

使用道具 举报

签到天数: 5 天

发表于 2025-12-14 15:38:25 | 显示全部楼层   河南省焦作市
https://bbs.ijingyi.com/thread-14869356-1-1.html
这个你看一下,虽然不是两个线程共用一个对象,但是可以实现无锁同步,以及优雅退出线程.

理论上是支持两个甚至多个线程公用一个对象的,一个线程用来当监工,其他线程用来干苦力!没毛bing...
回复

使用道具 举报

结帖率:67% (2/3)

签到天数: 1 天

 楼主| 发表于 2025-12-14 17:14:32 | 显示全部楼层   上海市上海市
dzscuz 发表于 2025-12-14 09:50
就不能直接主线程一个对象,监控线程一个对象吗?

那样不会造成同时点击两个地方吗。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表