使用C# 多线程多窗口同时调用大漠

1.我使用的大漠控件版本是7.1919版本

2.多线程多窗口调用的时候经常会出现问题,所以做了一个例子作为模板,以后大家可以根据情况在代码上修改即可



 * 写这个例子的原因是看到了很多用户对多线程的处理,处于一知半解的状态
 * 各种奇葩写法层出不穷. 导致的问题也是稀奇古怪
 * 卡死,崩溃简直是家常便饭

 * 为了让用户能更深入的了解多线程的控制和处理,我要在这里写一些原理性的东西
 * 包括插件的设计思想

 * 首先说插件
 * 插件目前是用COM架构设计的,目前的是版本同时支持sta和mta两种线程模型
 * 简单来说,sta就是单线程模型,mta是多线程模型
 * 对于sta来说,所有的com调用(比如你调用了插件的某个接口),都被序列化到某个线程(创建对象的那个线程)内去执行,而不一定在你的调用线程执行
 * 对于mta来说,所有的com调用,都在你的调用线程执行,所以mta的调用效率是最高的.
 * 那么什么时候决定com的线程模型呢? 其实是在对象创建的那个时候决定的
 * 当对象创建时,所在的线程是sta模型,那么这个对象就是sta模型了,无论它在哪个线程里调用,都必定序列化
 * 相反,如果创建时,所在线程是mta模型,那么这个对象就算实在sta模型的线程里调用,它也一定不会被序列化.
 * 所以,我们如果想让某个COM对象以sta模型运行,那么只需要让它在sta模型的线程内创建就好了. 相反mta也如此

 * 对于实际的使用中,我还是建议统统用mta模型。 因为考虑到我们会在线程外去调用接口,为了效率考虑,我们统一使用mta
 * 另外插件设计的所有接口,对于同个对象而言,不是多线程安全的.(也就是同个对象的接口,不能同时在多个线程内调用,会引发崩溃)
 * 在实际使用中,一定要时刻注意这一点. 相反的,如果不是同个对象,那么是多线程安全的.

 * 然后我们说一下系统的多线程
 * 系统的多线程其实就是创建,暂停,恢复,强制结束这4个接口
 * 先告诉大家结论,暂停这个接口,永远不要去调用. 强制结束这个接口要尽可能避免调用.
 * 很多用户为了方便,在暂停某个脚本时,使用了系统提供的暂停接口
 * 结果导致了各种卡死,崩溃。 还不知道咋回事。 感觉明明代码写的没毛病啊
 * 这里我要说一下,系统提供的暂停(SuspendThread)操作,压根就不是给正常用户使用的,这是给调试器使用的
 * 那为何这个暂停操作会导致异常呢? 实际上,线程在运行当中,它的状态是不可控的
 * 假如你要暂停的线程正好处于某个锁当中(E语言也叫做许可证),万一恰巧这个锁还是个全局的,你说会发生什么事情?
 * 而恰巧的是,系统中使用全局锁的操作很频繁. 比如分配内存/释放内存.
 * 所以我给大家的建议是,永远不要去用暂停这个接口.
 * 至于强制结束线程,也是非常不建议使用,它和暂停线程有相同的作用. 假如结束的线程正好处于锁当中,BOOM!!!
 * 那么今天的例子也就是给大家演示,如何不用这几个要命的接口,如何正确的使用多线程.
 * 至于上面说的暂停,恢复我们有别的方法替代完成.
 * 相信如果你真的理解了这个例子,那么你操作多线程真的会做到游刃有余!
 

下载链接:example.exe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文字方面 1. 所有文字识别接口都支持后台gdi 后台gdi2 后台dx 后台dx2 后台dx3 以及前台normal 2. 支持RGB HSV颜色识别 3. 支持RGB HSV差色识别 4. 支持多种颜色混合识别(最多10种) 5. 支持连体字识别 6. 支持背景色识别 7. 支持点阵模糊识别(防杂点干扰) 8. 支持查找指定字符串在屏幕的坐标 9. 支持查找指定字符串在屏幕上的所有坐标 10. 支持在未知文字的情况下进行词组识别 11. 支持在没有字库的情况下,进行词组范围识别 12. 支持多字库,最多10个字库。方便针对不同的情况制作字库. 13. 完全兼容91OCR字库(txt字库,mdb不支持) 14. 支持字库自定义加密解密 15. 支持识别指定图片中的文字 16. 支持在代码中添加字库 图色方面 1. 所有图色接口都支持后台gdi 后台gdi2 后台dx 后台dx2 后台dx3 以及前台normal 2. 支持颜色查找,多种颜色查找,并可指定搜索的方向以及相似度 3. 支持图形查找,多个图形查找,并可指定搜索的方向以及相似度 4. 支持直接获取某点的颜色(RGB,HSV) 5. 支持直接对某点的颜色进行比较,可指定相似度 6. 可直接对任意区域进行截图,并保存为bmp(24位色) 7. 可获取某范围的RGB和HSV颜色均值 8. 支持图片透明色 9. 支持多图查找 10. 支持直接获取图像数组,方便二次开发 11. 支持多点找色 键鼠方面 1. 所有键鼠接口都支持windows消息模拟,dx以及前台 2. 前台完全模拟,功能和按键自带的完全一样 3. 后台windows消息模拟(类似于按键自带的后台键鼠) 4. dx键盘几乎支持所有游戏后台组合键.(首创) 5. 后台dx (首创,支持大型的3D以及2D游戏键鼠的模拟) 后台方面 1. 两个函数,搞定前后台的切换,非常简单快捷. 窗口方面 1. 支持任意绘制的信息提示窗口,可以随着游戏窗口的移动而移动 2. 信息提示窗口可以鼠标拖动,更加方便快捷 3. 支持获取通过正常手段获取不到的窗口句柄,比如QQ系列游戏 4. 支持枚举窗口 5. 支持获取窗口各种状态 6. 支持对窗口进行各种操作,关闭,最小化等等 内存方面 1. 支持CE格式的内存读取 2. 支持各种数据类型的搜索,以及多次搜索(类似CE) 3. 强力内存接口,按键自带的读不到,可以试试这个 4. 强力的内存写接口(简单游版本不支持) 汇编方面 汇编方面(简单游版本不支持) 支持MASM语法的汇编语句,支持本进程以及目标进程的汇编代码嵌入执行(俗语Call) 2. 支持机器码和MASM语句的互转 答题器 1. 支持前后台的截图发送到服务端 2. 支持前后台的截取动画发送到服务端 5颜色格式 编辑 颜色格式 1.RGB模式 RRGGBB-偏色RR偏色GG偏色BB适用于颜色偏差较大的场合 2.HSV模式 H.S.V-偏色H.偏色S.偏色V 适用于颜色接近的场合 例如,RGB模式: 9f2e3f-000000 表示颜色为9f2e3f,RGB的偏色都为0 9f2e3f-020202 表示颜色为9f2e3f,RGB的偏色都为02 HSV模式: 20.30.20-0.0.0 表示颜色为20.30.20,HSV的偏色都为0 20.30.20-0.0.20 表示颜色为20.30.20,HSV的偏色为0 0 20 6工具部分 编辑 字库制作工具的使用,主要分为2大功能模块 1. 一个是抓图,制作自定义字库,任意形状都可以 2. 第二个是根据系统中的字体,来制作字库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值