大漠插件字库原理介绍

合集下载

大漠插件后台寻图、主动猎取坐标窗口句柄鼠标多点左单击足本[精品]

大漠插件后台寻图、主动猎取坐标窗口句柄鼠标多点左单击足本[精品]

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本一、准备工作第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~第二步:创建一个文件夹,以d:\test 为例。

把你要找的图(60.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。

第三步:打开按键精灵,创建一个新脚本。

往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图60.bmp二、复制以下代码到按键精灵dim ys1,ys2,ys3,a,b,zbx,zby//自定义变量ys1=9000//1和2点延时ys1=9000//2和3点延时ys1=9000//3和1点延时a=15//纵向下移15单位b=-15//纵向上移15单位zbx=100//获取窗口句柄给定的坐标xzby=100//获取窗口句柄给定的坐标yPutAttachment "d:\test", "*.*" //意思是释放所有附件到d:\test目录。

就是把有用的文件打包到test目录下PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册Call Plugin.RegDll.Reg("d:\test\dm.dll") //调用大漠插件,在按键精灵中使用Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dmdm_ret = dm.SetPath("d:\test") // 设置全局路径,以后你找图用的图片都默认是test目录里的图片了,否则你要用绝对路径d:\test\1.bmp来该表示图片dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片Hwnd = dm.GetPointWindow(zbx,zby)//用大漠软件获取给定坐标(zbx,zby)的窗口句柄,保存在Hwnd里Call Plugin.Window.Move(Hwnd, 0, 0) // 把窗口移到屏幕的(0,0),即左上角dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口//下面是一条判断语句,如果绑定失败就会提示。

C#调用大漠插件

C#调用大漠插件

C#调⽤⼤漠插件⼤漠插件是⼀个很不错的东西,在按键精灵和易语⾔⾥⾯⽤得很多,可以后台找图找字,写游戏⾃动脚本⽤得特别多。

前⾯写⼀个微信的⾃动脚本,查了⼀些资料,易语⾔不太熟悉,按键精灵功能上可能不好实现,就找了些资料,⼤漠插件是可以⽤⼀、引⽤Ddm.dll.NET⾥⾯可以直接引⽤,引⽤⽅法,添加引⽤--COM--找到DM,双击即可⼆、注册⼤漠插件//这是注册DLL到系统的⼀个⽅法,注册⼤漠则调⽤ AutoRegCom("regsvr32 -s dm.dll");static string AutoRegCom(string strCmd){string rInfo;try{Process myProcess = new Process();ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");eShellExecute = false;myProcessStartInfo.CreateNoWindow = true;myProcessStartInfo.RedirectStandardOutput = true;myProcess.StartInfo = myProcessStartInfo;myProcessStartInfo.Arguments = "/c " + strCmd;myProcess.Start();StreamReader myStreamReader = myProcess.StandardOutput;rInfo = myStreamReader.ReadToEnd();myProcess.Close();rInfo = strCmd + "\r\n" + rInfo;return rInfo;}catch (Exception ex){return ex.Message;}}三、实例化⼤漠对象Dm.dmsoft dm = new Dm.dmsoft();四、调⽤⼤漠的⽅法直接通过实例化的对象dm调⽤,如dm.MoveTo(30, 30);完整代码:窗体上放⼀个按钮,点击按钮,调⽤⼤漠插件将⿏标移动到(30,30)using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;using System.IO;namespace Player{public partial class Player : Form{public Player(){InitializeComponent();AutoRegCom("regsvr32 -s dm.dll");}private void button1_Click(object sender, EventArgs e){Dm.dmsoft dm = new Dm.dmsoft();dm.MoveTo(30, 30);}static string AutoRegCom(string strCmd){string rInfo;try{Process myProcess = new Process();ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");eShellExecute = false;myProcessStartInfo.CreateNoWindow = true;myProcessStartInfo.RedirectStandardOutput = true;myProcess.StartInfo = myProcessStartInfo;myProcessStartInfo.Arguments = "/c " + strCmd;myProcess.Start();StreamReader myStreamReader = myProcess.StandardOutput;rInfo = myStreamReader.ReadToEnd();myProcess.Close();rInfo = strCmd + "\r\n" + rInfo;return rInfo;}catch (Exception ex){return ex.Message;}}}}。

大漠插件帮助文档1

大漠插件帮助文档1

制作透明图,用我的工具就可以很方便快捷的制作出来,这样的准确率是最好的,效率也是最高的.
10后台绑定会对哪些接口有影响
由于后台绑定操作和一系列接口有关系,那么有哪些接口会有影响呢?
图色部分 文字识别部分,键鼠部分,以及答题接口的FapCapture会有影响,,这些接口的具体操作是根据绑定的具体参数而定的。
10. DisableFontSmooth和CheckFontSmooth (系统文字平滑设置)
11. FaqSend和FaqPost中的request_type类型为3(双坐标) (支持同时传递2个坐标,对于多坐标验证很有用)
12. SetDisplayAcceler 设置硬件加速级别. (设置系统的D3D硬件加速级别,有些窗口需要关闭这个才可以后台)
dm_ret = dm.FindStr(0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY)
dm_ret = dm.MoveTo(intX,intY)
dm_ret = dm.LeftClick()
dm_ret = dm.SetPath("c:\xxxx")
手动关闭UAC的方法
控制面版-用户帐号-更改用户帐户控制设置
3 VBS调用规范
大漠插件,建议大家用VBS的方式来调用,具体调用规范如下,两种方式可以结合使用
1. 无返回值的不能带括号 ,或者说无括号不能带返回值,例如
dm.FindStr 0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY
2. 插件的释放路径不要释放到Plugin目录,改为c盘的某个目录,并且用RegDll来注册,如下

按键插件应用说明

按键插件应用说明

按键插件应用篇注意:本篇做为按键使用大漠插件的插件篇,本篇会按会员要求有所增补,故顺序会有所改变,请大家按实际顺序观看!第一节、教你做一个最简单的打怪挂在我们做游戏的辅助工具的时候,一般是将游戏窗口化,这样是为了将来游戏多开或者是后台打游戏,前台可以看电影等等做准备的。

1、先查找游戏快捷键一般的游戏都有快捷键,这个我们要仔细的查找。

2、使用按键精灵来XXX一个简单的前台挂通过这个简单的挂我们可以看出A、怪物的级别不同,被打死的时间也不一样,所以我们要判断打死一个怪的时间B、人物的血量消耗到一定比例时加血的问题C、珍兽加血的问题D、加血药吃光后买药问题,等等这些我会在以后的教程中一一的给大家讲授好,现在开始第二节第二节、大漠工具、插件的使用。

1、大漠插件与工具熟悉按键的朋友都知道,大漠的插件是免费的,并且是免费插件中几乎最好用的插件这个是下载XXX:下载注册方法:打包dm.dll到附件添加以下代码在脚本最开始//这句意思是解包文件到文件夹PutAttachment "c:\test_game","*.*"//这句意思是创创建并返回对像set ws=createobject("Wscript.Shell")//这句意思是注册大漠插件ws.run "regsvr32 c:\test_game\dm.dll /s"set ws=nothingDelay 1500我们可以在D盘做一个游戏的文件夹来使用。

在D盘做一个TianLong的文件夹吧,大家来看我的演示。

第三节、文字识别的方法。

好,大家都注册完了吧,现在开始讲一下文字的识别方法1、我们先在上边所说过的文件夹中建立一个记事本吧,名还是为TianLong.txt,然后打开大漠工具,打开或新建字库。

2、我们就找这个字吧,“路”,请仔细看我的操作好,文字识别大家都会了吧,我在下一节给大家讲一下游戏的后台判断。

大漠插件字库原理介绍

大漠插件字库原理介绍

首先说明下大漠综合工具制作字库的过程和原理1.截取你所需要的图片2.点击你所需要字的颜色3.点击提取点阵4.输入字符按回车生成字库具体的原理我不好说,但是就我的理解是:对图片中不符合指定颜色的部分去除掉,然后二值化获取点阵,点阵也就是这些颜色的分布规律,二值化就是黑白两色,RGB格式中黑色"000000"白色"ffffff"由于我的脚本在别人电脑上运行的时候经常失效,今天改成16位色后我机器上运行也失效了,而我这个脚本主要采用的就是大漠插件的找字功能,我以为是机器间的色偏造成的,一直想法子算色偏,但是我失败了。

后来我想起论坛上有个帖子专门讲过同色系的RGB格式中R值是不变的(不好意思忘了作者了,在这里致谢)于是我就在大漠综合工具的色偏处输入了00ffff结果是在16位色环境下,大漠综合工具中二值化区域内的字显示的跟我在32位色环境下做的一模一样,接着我提取点阵,制作字库,进行调试,命令格式如下:dm_ret =dm.FindStr(0,0,978,585, "码", "ffd463-00ffff", 1.0, x1, y1)If x1 >= 0 ThenMessageBox x1 & y1End If准确的弹出了x,y的坐标值接着我换32位色做同样的调试,显示结果与16位色下相同,我测了坐标正好是我要找的字的左上角经多次测试发现这个方法中字色的R值必须为FF或00(至于F1,01等未测试,有兴趣的朋友可以试试)庆幸啊以后找字可以不考虑偏色了呵呵再说了考虑我也不会算具体原理我也不是很懂,但是我估计应该是:我比较了点阵中R值相同的所有点,取得符合二值化点阵区域内所有的点造成的再次提醒此方法只适合R值为00,FF的其他位置相同的未测试当然这么做效率是低了点,但是在我看来脚本应该是:稳定性>通用性>执行效率,毕竟脚本也是你编写的一种软件吗鲜花,银币在哪拿来啊呵呵简单说下后台操作的方法,先判断该窗口是否支持后台,用下面的语句:Hwnd=Plugin.Window.Foreground()Hwmd=Plugin.Window.GetkeyFocusWnd()If Hwmd<>0 thenMessagebox "可以"ElseMessagebox "不可以"End if然后把下面的放在脚本开头Hwnd=Plugin.Window.Foreground()Hwnd=Plugin.Window.GetkeyFocusWnd()//下面接自己的代码首先后台一点是要有句柄、这个很简单第一步我们先打开抓抓,接着点击句柄接着把鼠标移到你所要后台的窗口上,按下F8 是否看见当前窗口句柄那里出现一串数字?把它复制下来第二步我们点击图像,在指定窗口句柄那里打钩接着把数字复制进去按下抓图键(Print Screen SysRq) 是否只看见你要后台的的图像呢?对着你所需要的坐标按右键加入点1 记住坐标然后加入到后台鼠标点击里面就行了第三步我们在后台命令中找到鼠标指向窗口点击插入命令是Hwnd = Plugin.Window.MousePoint()第四步我们要进行后台鼠标点击或者后台输入键盘命令是Call Plugin.Bkgnd.LeftClick(Hwnd, 0, 0)在按键看了很多教程关于"多开..."的我看了后回味,似乎都是单线程的,往往新手会问,难道不能让精灵同事做2件事情吗?新手问的其实是问:按键可以多线程后台吗?由此我突然奇想且试验成功.且次试验可将任何的单开后台变为多开后台脚本.如有愚昧的地方指指教了. 作业:设计一个在记事本上后台打字"1"的循环代码要求:能循环多开Hwnd = Plugin.Window.MousePoint()rem aCall Plugin.Bkgnd.KeyPress(Hwnd, 49)Delay 500goto a注:8.0写的如只有7的同学自己翻译不太难的回复后能见教程本帖隐藏的内容需要回复才可以浏览第一步:将禁止脚本重复运行选为否(在是否循环的下面)第二步:设置启动热键为F2(以免与记事本热键冲突)第三步:保存退出(或选调试)第四步:打开第一个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化第五步:打开第二个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化........此时你如果将多个记事本都打开看他们都在干活呢-------可以无限后台多开-多线程的哦总结:第一步很关键.启示:如果我做的"打1"的脚本换成打怪的呢?本帖隐藏的内容需要回复才可以浏览第1步:什么是后台插件及命令首先我们要明白什么是后台插件以及后台命令,在编辑窗口找到全部命令,找到窗口插件(建议大家可以站内搜一下361插件,下载后放进去,看一下361插件的命令),点开后点击每一条命令仔细看说明,对比每条命令跟前台命令的对应关系,这样我们就可以把对应的前台命令转换为后台命令了。

易语言调用大漠

易语言调用大漠

还有一小时下班,没事做,教童鞋们在易裡用大漠插件,嘿嘿,好多童鞋都不会怎么用,回答也累啊,没办法,普及一下咯,看图!第一步,下载大漠,必须的!第二步,注册DLL文件,必须的,很多种方法!这是大漠自带的,很好用,注册的时候一定要dm.dll, regdll.dll, 注册大漠插件到系统.bat ,这三个文件一定要在同一个目录下,很多童鞋就知道,以为只有注册大漠插件到系统.bat 点击就行了,好用的插件也有让人蛋疼的地方,要留意!用regsvr32来注册,开始菜单,运行!Regsvr32是命令,后面的是你的DLL的文件路径,这个路径里一定要有这个DLL文件,不然当然是不行滴咯!重点来了,打开易语言点工具菜单的类型库或OCX组件-支持库,打开就懂了,0.0在弹出的对话框中选注册类型库找到dm.dll然后打开,会有个提示好咧,到这里易语言还是没有大漠支持库了,往下看找到Dm 版本1.0,然后单击下一步其实这是易官方的一个只有几分钟的教程,很多同学就是不愿意去看,哎,伸手党太多了!点击保存为NPK文件 ,再将NPK文件放到易程序目录的LIB文件夹里,然后配置支持库!如果要汉化,那你就一个一个函数的汉化呸,当然,很累的,但为了童鞋们,我也是汉化了一个啊,看我论坛的帖子咯支持库有了哈哈,问题又来了,很多童鞋就说了,这个怎么用啊,很明显是易的基础都没打好的童鞋,郁闷!创建一个窗口程序,插入一个变量,这个变量的数据类型我们打上大漠插件,注意,这裡是你保存NPK 文件的时候写的是啥就是啥,不一定是大漠插件这个数据类型的,我写的是大漠插件,所以数据类型也是大漠插件! 看下图这里,懂点易的就飘过吧,这里是普及教程!好了,这下可以用了,参数自己看大漠接口说明填就是了!总结了一下,要注意的有以下几点!不是所有的函数易都可以调用,比如某些函数易是用不了的,大漠接口说明说得很清楚,这个要注意!还是有些问题,,,为啥在我的电脑上能用,发给别人用不了我写的软件呢?,简单解决办法如下:打开易语言,选择工具,中的系统配置,选择通过名称為“ _启动子程序”的子程序来启动!然后在 _启动子程序中写初始化代码:还有就是不管对方是否注册了大漠,都需将插件文本写到自己的程序目录下,我也不知道啥原因,有些机子程序目录下没插件文件在他就运行不了,额,有待研究哈,好了,有空再聊聊,就到这里啦!。

大漠插件开发手册

大漠插件开发手册

大漠插件开发手册大漠插件是一款用于自动化操作和控制Windows系统的软件开发工具,它可以模拟鼠标、键盘等操作,并提供了丰富的API接口,方便开发者进行各种自动化任务的开发。

本手册主要介绍大漠插件的基本用法和相关API接口的调用方法,帮助开发者快速上手和开发自己的自动化任务。

1. 安装和配置大漠插件- 下载大漠插件的安装包,并进行安装。

- 配置开发环境,将大漠插件的安装目录添加到系统路径中。

2. 创建一个插件对象在代码中引入大漠插件的命名空间,并创建一个插件对象。

```using System;using System.IO;using System.Runtime.InteropServices;namespace DM.PluginDemo{class Program{static void Main(string[] args){DmPlugin.Plugin dm = new DmPlugin.Plugin();}}}```3. 配置大漠插件的基本参数在创建插件对象后,需要对插件进行一些基本参数的配置,比如设置插件所使用的窗口句柄、设置插件的工作路径等。

```DmPlugin.Plugin dm = new DmPlugin.Plugin();dm.SetPath(Path.GetDirectoryName(System.Reflection.Assembly. GetExecutingAssembly().Location));dm.SetDict(0, "dm_soft.txt");```4. 使用鼠标相关的API接口大漠插件提供了一系列鼠标相关的API接口,比如模拟鼠标左键点击、模拟鼠标移动等。

```dm.MoveTo(100, 100);dm.LeftClick();```5. 使用键盘相关的API接口大漠插件也提供了一系列键盘相关的API接口,比如模拟键盘按键、模拟键盘输入等。

按键精灵插件工具大漠-大漠注册

按键精灵插件工具大漠-大漠注册
// 这时,已经确认插件注册失败了。 弹出一些调试信息,以供分析.
messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath()
messagebox "请关闭程序,重新打开本程序再尝试"
endscript
end if
ver = dm.Ver()
if ver <> need_ver then
// 先释放先前创建的dm
set dm = nothing
// 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误.
set ws=createobject("Wscript.Shell")
dm.UnBinபைடு நூலகம்Window
set dm = nothing
End Sub
// 结束
if dm_ret <> 1 then
messagebox "注册失败,返回值是:"&dm_ret
endscript
end if
// 收费注册结束<<<<<<<<<<<<<<<<
//这里设置插件基本目录
dm.SetPath "c:\test_game"
// 获取句柄
hwnd = dm.GetMousePointWindow()
ws.run "regsvr32 c:\test_game\dm.dll /s"

第三章 大漠窗口绑定和后台的实现

第三章 大漠窗口绑定和后台的实现

大漠窗口绑定和后台的实现一什么是后台后台功能的实现是按键类外挂的一个飞跃。

从按键启动以后霸占整个电脑,实现了不影响用户其他操作;实现了同时对多个窗口进行操作。

其实后台功能用VC来解释就是,通过获取窗口的句柄(就先简单理解为每个窗口都有一个唯一的编号)。

然后绑定此窗口,相关的操作都是针对于这个编号的窗口进行的,从而不会在其他窗口有鼠标和键盘无法使用的问题。

二窗口绑定窗口绑定在大漠里是通过两个函数来实现的。

对了,这个就是大漠开发包里的那个开发手册。

第一个是普通的绑定。

第二个是高级的绑定函数,参数更多,可以设置的功能也更多一些。

具体使用中根据自己需求看手册里这里的介绍很多,刚才试着贴了一下,太多了就不贴了。

需要了自己看。

现在我们就用最通用最简单的来绑定一个窗口示例:// display: 前台鼠标:前台键盘:前台模式0dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)// display: gdi 鼠标:前台键盘:前台模式1dm_ret = dm.BindWindow(hwnd,"gdi","normal","normal",1)// display: dx 鼠标:前台键盘:前台模式0dm_ret = dm.BindWindow(hwnd,"dx","normal","normal",0)// display: dx 鼠标:windows后台键盘:windows后台模式1dm_ret = dm.BindWindow(hwnd,"dx","windows","windows",1)// display: dx 鼠标:dx 后台键盘: dx后台模式1dm_ret = dm.BindWindow(hwnd,"dx","dx","dx",1)// display: dx 鼠标:windows3后台键盘:windows后台模式1 dm_ret = dm.BindWindow(hwnd,"dx","windows3","windows",1) mode 整形数: 模式。

插件的工作原理

插件的工作原理

插件的工作原理
插件是一种软件工具,通过添加到主程序中扩展其功能。

插件的工作原理基本上可以分为以下几个步骤:
1. 加载插件:主程序通过特定的方式检测、识别和加载插件。

通常,插件会以单独的文件形式存在,主程序会根据设定的规则来寻找和加载这些插件文件。

2. 解析插件:一旦插件加载完成,主程序会解析插件文件的内容,确定插件的功能和提供的接口。

这些接口定义了主程序与插件之间的通信方式和有效的函数调用。

3. 注册插件:主程序会在运行时注册插件,建立起对插件的引用。

这样一来,主程序就能够调用插件提供的功能和方法。

4. 执行插件:根据需要,主程序通过调用插件的方法来实现特定的功能。

主程序可以向插件传递参数,插件根据参数执行对应的操作。

5. 完成插件:当插件完成所需的操作后,主程序会收到相应的返回结果。

主程序可以根据插件的返回结果进行下一步的处理或作出相应的反应。

总的来说,插件的工作原理是主程序与插件之间的相互通信。

主程序通过加载、解析和注册插件来扩展自身功能,然后根据需要调用插件的方法,完成特定的功能。

插件的设计和实现需
要符合主程序定义的接口规范,以保证插件可以被正确加载和执行。

python调用大漠插件教程02大漠插件绑定测试工具

python调用大漠插件教程02大漠插件绑定测试工具

python调⽤⼤漠插件教程02⼤漠插件绑定测试⼯具什么是⼤漠插件绑定测试⼯具?这是⼤漠插件为了⽅便使⽤者调试绑定窗⼝的模式⽽设计的,因为有些程序不会接受⼀般的⿏键事件的响应模式,每个程序所需要的响应模式都不尽相同,所以这个⼯具可以使我们在绑定窗⼝时的调试更加⽅便。

在哪⾥下载此⼯具?在⼤漠的vip群⾥,或是⼤漠后台⽹址。

为什么要使⽤此⼯具?因为使⽤⼤漠插件的前提就是先绑定窗⼝,绑定窗⼝涉及很多参数(图⾊,键盘,⿏标等)每个参数⼜有很多模式选择,如果⾃⼰在代码⾥⼀个⼀个进⾏调试,会浪费很多时间。

如何使⽤此⼯具?⾸先打开⼯具,确定⾃⼰的插件路径然后输⼊⾃⼰的注册码。

然后打开以后的界⾯如下所⽰,在综合设置的页⾯中,将图中红⾊箭头的靶⼦拖到需要绑定的窗⼝上。

图中下⽅位置的综合设置参数⾥SetSimMode函数有三种模式 0 正常模式(默认模式)1 硬件模拟2 硬件模拟2(ps2)(仅仅⽀持标准的3键⿏标,即左键,右键,中键,带滚轮的⿏标,2键和5键等扩展⿏标不⽀持)3 硬件模拟3使⽤⽰例SetSimMode(0)在第⼀个页⾯设置好以后切换到第⼆个绑定参数页⾯,其中的所有参数都要根据⾃⼰绑定的窗⼝进⾏设置。

设置好以后依次切换到测试图⾊,⿏标,键盘。

测试图⾊只需要切换到这个页⾯,然后点击Capture,如果截图很全(没有⿊边或是截图界⾯不完整的情况则图⾊模式正确)测试⿏标的⽅法多种多样,例:可以拖动此界⾯的靶⼦到你想点击的地⽅,然后勾选后接⼀个LeftClick如果⽣效则⿏标模式正确测试键盘,例:直接按照提⽰组合键,⽣效则模式正确。

也可以使⽤单⼀键,都很随意上述绑定参数都正确后回到第⼆个页⾯点击⽣成代码,会在右侧的⽇志中显⽰出绑定代码,复制到⾃⼰的程序中即可完成绑定需要注意的点这个测试绑定参数的过程需要⼀定的耐⼼。

另外复制的代码和python有格式不兼容的地⽅,有些细节需要修改⼀下。

另外需要保证⾃⼰的桌⾯缩放⽐例为100%。

[TC4.调用大漠找字,设置生成系统字库,以及美化TC界面技巧]

[TC4.调用大漠找字,设置生成系统字库,以及美化TC界面技巧]
跳出 如果结束 循环结束 返回 是否找到 功能结束 //打怪 功能 打怪任务(找怪名) 变量 x,y,找怪名,打怪任务 循环(dm.FindStr(711,184,1011,515,找怪名,"126.39.93-0.1.1",1.0,x,y)==0) 辅助.等待(50) 超级键盘.按键(9,1) 辅助.等待(50) 超级鼠标.移动(x+10,y+6) 辅助.等待(100) 超级鼠标.左键单击(1)
五,TC 生成 exe 文件美化,制作个性 ICO 图标
一,制作个性 ICO 图标,简单的用美图先制作 1,打开美图新建画布,像素48X48,一定要勾选透明,点应用
2,点文字,静态文字 3,输入文字 ,你可以选择自体,调整大小
4,然后右键,合并当前素材 5,然后右键点击,插入一张色彩鲜艳的图片 ,越绚丽越好
线程.关闭(线程句柄) 辅助.退出() 返回 真 //函数返回语句 功能结束 功能 热键0_热键() 线程句柄=0 //辅助.消息框("我是热键0F8") 如果(线程句柄==0)
线程句柄=线程.开启("我的程序.线程启动","") 如果结束
返回 真
功能结束
功能 热键1_热键() //辅助.消息框("我是热键1F12") 线程.关闭(线程句柄)
我的程序.识别任务(11,217,358,673,"流云甲","0.0.100-180.0.1") 我的程序.识别任务(11,217,358,673,"我选好了","124.55.95-0.0.0") 我的程序.识别任务(11,217,358,673,"有情人","124.55.95-0.0.0") 我的程序.识别任务(11,217,358,673,"好的","124.55.95-0.0.0") //右边任务列表 xy 坐标 我的程序.识别任务(711,184,1011,515,"幽谷花蝶","126.39.93-0.1.1") 我的程序.打怪任务("幽谷花蝶") 返回 真 功能结束

按键精灵插件工具大漠-大漠注册

按键精灵插件工具大漠-大漠注册

按键精灵插件工具大漠-大漠注册// 首先打包dm.dll和RegDll.dll到附件,当然如果你还有其它资源(字库,图片等)也可以一并打包// 这个need_ver作为本脚本需要使用的插件版本. 如果要换插件时,记得更改这个值.need_ver = "4.1336"// 插件需要用到atl系统库,有些XP精简系统会把atl.dll精简掉. 为了防止注册失败,这里手动注册一下atl.dllset ws=createobject("Wscript.Shell")ws.run "regsvr32 atl.dll /s"set ws=nothing// 释放附件>>>>>>>>>>>>>>>>>>>// 这里选择c盘的test _game作为插件的基本目录也就是SetPath对应的目录。

所以所有资源都释放在此目录.PutAttachment "c:\test_game","*.*"// 这里要用到RegDll来注册插件,所以必须释放到Plugin. 但是切记不能把dm.dll释放到Plugin.那会导致插件失效.PutAttachment ".\Plugin" ,"RegDll.dll"// 插件注册开始>>>>>>>>>>>>>>>>>>>// 下面开始注册插件,先尝试用RegDll来注册.这里必须使用绝对路径。

以免有别人把dm.dll释放在系统目录.造成版本错误.Call Plugin.RegDll.Reg("c:\test_game\dm.dll")// 这里判断是否注册成功set dm = createobject("dm.dmsoft")ver = dm.Ver()if ver <> need_ver then// 先释放先前创建的dmset dm = nothing// 再尝试用regsvr32 来注册. 这里必须使用绝对路径。

大漠帮助文档2

大漠帮助文档2
y2 整形数:区域的右下Y坐标
string 字符串:待查找的字符串, 可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串
color_format 字符串:颜色格式串
sim 双精度浮点数:相似度,取值范围0.1-1.0
返回值:
字符串:
返回字符串序号以及X和Y坐标,形式如"id|x|y", 比如"0|100|200",没找到时,id和X以及Y均为-1,"-1|-1|-1"
(多色,差色查找类似于Ocr接口,不再重述)
易语言用不了FindStr可以用此接口来代替
函数原型:
string FindStrE(x1,y1,x2,y2,string,color_format,sim)
参数定义:
x1 整形数:区域的左上X坐标
y1 整形数:区域的左上Y坐标
x2 整形数:区域的右下X坐标
If len(info) > 0 Then
dm.AddDict 4,info
End if
FindStr
函数简介:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述.
Do While index < count
TracePrint ss(index)
sss = split(ss(index),",")
id = int(sss(0))
x = int(sss(1))
y = int(sss(2))

大兵插件文字识别教程

大兵插件文字识别教程

大兵文字识别教程此识别程序适用于大兵插件6.06.0610及以上版本1、文字识别原理大兵插件文字识别为点阵识别,所谓点阵说的白一点就是“点”,我们显示器的显示分别率假设为1024×768,那么用点阵来解释就是1024×768个点(横向1024,纵向768),每个点也就是每个像素是显示的最小单位,9ppt 宋体汉字大小为11×11,就是由11×11个点阵来显示汉字,DOS时代的文字都是点阵格式,现在的文字大部分是矢量型式,但是反映到显示器上,放大了看还是点阵的方式,所以识别来说点阵是最简单的方式“大”的点阵放大了,黑色是“大”的文字部分。

2、大兵识别函数:大兵文字识别的函数为OCR,参数为16个,分别为:1、窗口句柄或者图片路径如果为窗口句柄,句柄要求为数字≥0,0表示当前屏幕,采用屏幕坐标系统,其余采用窗口坐标系统(窗口方式为后台方式,不能用于DirectX窗口) 如果为图片,要求为字符串,支持相对路径2、识别范围左上角X(数字≥0),识别不出来,可适当减小3、识别范围左上角Y(数字≥0),要求准确4、识别范围右下角X(数字≥0),建议比实际文字范围大1像素5、识别范围右下角Y(数字≥0),建议比实际文字范围大1像素6、识别字体类型(数字0、1、2),可选参数,默认为20表示未加粗字体,字库默认情况下名字后面有"_N"1表示粗体字体,字库默认情况下名字后面有"_B"2表示用粗体字库识别未加粗字体(不是所有字库都支持),字库默认情况下名字后面有"_B"7、识别类型(数字0~3),可选参数,默认为00表示识别汉字混排,没没识别出来的地方忽略1表示识别单纯数字,没没识别出来的地方忽略2表示识别汉字混排,没识别出来的用空格代替(全角字符和汉字用双空格,半角字符、数字用单空格)3表示识别单纯数字,没识别出来的用空格代替(全角字符和汉字用双空格,半角字符、数字用单空格)8、字库路径(字符串,文件名和扩展名,例如"Songti_11_B.Dll"、"Songti_11_B.ini"或者"Songti_11_B.txt"),支持相对路径,可选参数,默认为"Songti_11_B.Dll"。

大漠各个插件说明

大漠各个插件说明

大漠各个插件说明1. 无返回值的不能带括号 ,或者说无括号不能带返回值,例如dm.FindStr 0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY dm.MoveTo intX,intYdm.LeftClickdm.SetPath "c:\xxxx"dm.SetDict 0,"test.txt"dm.LoadPic "*.bmp"等等,这些都是不需要返回值的,那么不需要加括号,当然,你也可以加括号,但是就必须遵循规则22.有返回值的必须带括号,或者说,有括号必须有返回值,例如dm_ret = dm.FindStr(0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY)dm_ret = dm.MoveTo(intX,intY)dm_ret = dm.LeftClick()dm_ret = dm.SetPath("c:\xxxx")dm_ret = dm.SetDict(0,"test.txt")dm_ret = dm.LoadPic("*.bmp")有些函数,是必须有返回值的,那么就必须带括号,比如Ocr函数等ss = dm.Ocr(0,0,2000,2000,"aaaaaa-000000",1.0)4按键多线程调用插件目前来讲,按键的多线程还不够成熟。

尽量少用。

以下是在按键下使用多线程调用插件的一个示例.// 注册部分我就省略了Dim hwndSet dm = createobject("dm.dmsoft")TracePrint dm.Ver()// 主绑定(当然你也可以不要主绑定。

Python调用大漠插件

Python调用大漠插件

Python调⽤⼤漠插件Python版本要⽤32位的?我去官⽹下载,太慢了,就在软件⾥⾯下载了⼀个,结果实验成功import win32com.clientdm = win32com.client.Dispatch('dm.dmsoft') #调⽤⼤漠插件print(dm.ver())#输出版本号如果模块加载成功,就会得到G:\Pythonxx\venv\Scripts\python.exe G:/Pythonxx/Damo.py6.1720Process finished with exit code 0如果获取失败,需要提前把⼤漠插件安装到系统中。

1.加载dm.dll$regsvr32 dll⽂件路径2.编写python脚本利⽤字库识别⽂字#coding:gbkimport win32com.clientdm = win32com.client.Dispatch('dm.dmsoft')dm.setDict(0, 'c:\dm_soft.txt')eDict(0)"""函数原型:string FindStrEx(x1,y1,x2,y2,string,color_format,sim)参数定义:x1 整形数:区域的左上X坐标y1 整形数:区域的左上Y坐标x2 整形数:区域的右下X坐标y2 整形数:区域的右下Y坐标string 字符串:待查找的字符串, 可以是字符串组合,⽐如"长安|洛阳|⼤雁塔",中间⽤"|"来分割字符串color_format 字符串:颜⾊格式串, 可以包含换⾏分隔符,语法是","后加分割字符串. 具体可以查看下⾯的⽰例.注意,RGB和HSV格式都⽀持. sim 双精度浮点数:相似度,取值范围0.1-1.0"""ret = dm.FindStrFastE(0, 0, GetSystemMetrics(0), GetSystemMetrics(1), "⽕狐主页", "000000-909090", 1.0)ret = ret.split("|")if ret[0] == u"-1" :print "find the word"还可以⽤⼤漠实现⿏标移动、点击等。

大漠插件系统

大漠插件系统

⼤漠插件系统命令名称:dmBeep命令功能:蜂鸣器.f 整形数: 频率duration 整形数: 时长(ms).整形数:0 : 失败1 : 成功命令名称:CheckFontSmooth命令功能:检测当前系统是否有开启屏幕字体平滑.<收费功能>整形数:0 : 系统没开启平滑字体.1 : 系统有开启平滑字体.if Plugin.dm.CheckFontSmooth () = 1 thenTracePrint "当前系统有开启平滑字体"end if命令名称:CheckUAC命令功能:检测当前系统是否有开启UAC(⽤户账户控制).整形数:0 : 没开启UAC1 : 开启了UACif Plugin.dm.CheckUAC() = 1 thenTracePrint "当前系统开启了⽤户账户控制"end if注: 只有WIN7 VISTA WIN2008以及以上系统才有UAC设置命令名称:dmDelay命令功能:延时指定的毫秒,过程中不阻塞UI 操作.⼀般⾼级语⾔使⽤.按键⽤不到. <收费整形数:0 : 失败1 : 成功Plugin.dm.dmDelay 1000注: 由于是com组件,调⽤此函数必须保证调⽤线程的模型为STA.否则此函数会阻塞当前线程UI.命令名称:DisableFontSmooth命令功能:关闭当前系统屏幕字体平滑.同时关闭系统的ClearType 功能. <收费功能>整形数:0 : 失败1 : 成功if Plugin.dm.CheckFontSmooth() = 1 thenif Plugin.dm.DisableFontSmooth() = 1 thenMessageBox "关闭了当前系统平滑字体,重启⽣效"Plugin.dm.ExitOs 2Delay 2000EndScriptPlugin.dm.dmBeep 1000,1000mis整形数: 毫秒数.脚本例⼦:命令参数:返回值:脚本例⼦:返回值:脚本例⼦:命令参数:返回值:脚本例⼦:返回值:脚本例⼦:返回值:end ifend if注: 关闭之后要让系统⽣效,必须重启系统才有效.命令名称:DisablePowerSave命令功能:关闭电源管理,不会进⼊睡眠.整形数:0 : 失败1 : 成功Plugin.dm.DisablePowerSave注 :此函数调⽤以后,并不会更改系统电源设置.此函数经常⽤在后台操作过程中. 避免被系统⼲扰.命令名称:DisableScreenSave命令功能:关闭屏幕保护.整形数:0 : 失败1 : 成功Plugin.dm.DisableScreenSave注 : 调⽤此函数后,可能在系统中还是看到屏保是开启状态。

大漠字库用法

大漠字库用法

大漠字库用法如果你是在进行编程、设计或其他与字体相关的工作,使用大漠字库可能需要一些特定的步骤。

以下是一些可能的用法:下载字库文件:如果大漠字库是一个字体文件,你可能需要下载相应的字库文件,通常是.ttf(TrueType字体)或.otf(OpenType字体)格式。

安装字库:在计算机上使用字库前,你通常需要将字库文件安装到操作系统中。

这可以通过双击字库文件进行安装,或者将字库文件复制到系统字体文件夹中。

字库调用:在编程中,你可能需要调用大漠字库来实现特定的字体效果。

这可能涉及到在代码中指定字体,字号等属性。

字形显示:如果大漠字库是一个字形库,用于展示汉字的不同字形,你可能需要了解如何从字库中检索和显示具体的字形。

如果你是在进行网页设计或开发,使用大漠字库可能会有一些不同的步骤。

以下是一些可能的用法:1. 下载字库文件:同样,如果大漠字库是一个字体文件,你需要下载相应的字库文件。

但在这个情况下,你还需要考虑如何将字体文件嵌入到你的网页中。

2. CSS引用:在CSS文件中,你可以使用@font-face规则来引入下载的字库文件。

然后,你可以在CSS样式中使用这个字体。

3. HTML调用:在HTML元素中,你可以通过内联样式或外部样式表来指定字体。

例如,你可以在元素的style属性中指定字体为"DaMo".4. 字形显示:如果大漠字库是一个字形库,用于展示汉字的不同字形,你可能需要了解如何从字库中检索和显示具体的字形。

这可能涉及到使用JavaScript或CSS来实现。

总的来说,如何使用大漠字库取决于你的具体需求和工作流程。

你可能需要参考相关的文档或教程来获取更详细的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

首先说明下大漠综合工具制作字库的过程和原理1.截取你所需要的图片2.点击你所需要字的颜色3.点击提取点阵4.输入字符按回车生成字库具体的原理我不好说,但是就我的理解是:对图片中不符合指定颜色的部分去除掉,然后二值化获取点阵,点阵也就是这些颜色的分布规律,二值化就是黑白两色,RGB格式中黑色"000000"白色"ffffff"由于我的脚本在别人电脑上运行的时候经常失效,今天改成16位色后我机器上运行也失效了,而我这个脚本主要采用的就是大漠插件的找字功能,我以为是机器间的色偏造成的,一直想法子算色偏,但是我失败了。

后来我想起论坛上有个帖子专门讲过同色系的RGB格式中R值是不变的(不好意思忘了作者了,在这里致谢)于是我就在大漠综合工具的色偏处输入了00ffff结果是在16位色环境下,大漠综合工具中二值化区域内的字显示的跟我在32位色环境下做的一模一样,接着我提取点阵,制作字库,进行调试,命令格式如下:dm_ret =dm.FindStr(0,0,978,585, "码", "ffd463-00ffff", 1.0, x1, y1)If x1 >= 0 ThenMessageBox x1 & y1End If准确的弹出了x,y的坐标值接着我换32位色做同样的调试,显示结果与16位色下相同,我测了坐标正好是我要找的字的左上角经多次测试发现这个方法中字色的R值必须为FF或00(至于F1,01等未测试,有兴趣的朋友可以试试)庆幸啊以后找字可以不考虑偏色了呵呵再说了考虑我也不会算具体原理我也不是很懂,但是我估计应该是:我比较了点阵中R值相同的所有点,取得符合二值化点阵区域内所有的点造成的再次提醒此方法只适合R值为00,FF的其他位置相同的未测试当然这么做效率是低了点,但是在我看来脚本应该是:稳定性>通用性>执行效率,毕竟脚本也是你编写的一种软件吗鲜花,银币在哪拿来啊呵呵简单说下后台操作的方法,先判断该窗口是否支持后台,用下面的语句:Hwnd=Plugin.Window.Foreground()Hwmd=Plugin.Window.GetkeyFocusWnd()If Hwmd<>0 thenMessagebox "可以"ElseMessagebox "不可以"End if然后把下面的放在脚本开头Hwnd=Plugin.Window.Foreground()Hwnd=Plugin.Window.GetkeyFocusWnd()//下面接自己的代码首先后台一点是要有句柄、这个很简单第一步我们先打开抓抓,接着点击句柄接着把鼠标移到你所要后台的窗口上,按下F8 是否看见当前窗口句柄那里出现一串数字?把它复制下来第二步我们点击图像,在指定窗口句柄那里打钩接着把数字复制进去按下抓图键(Print Screen SysRq) 是否只看见你要后台的的图像呢?对着你所需要的坐标按右键加入点1 记住坐标然后加入到后台鼠标点击里面就行了第三步我们在后台命令中找到鼠标指向窗口点击插入命令是Hwnd = Plugin.Window.MousePoint()第四步我们要进行后台鼠标点击或者后台输入键盘命令是Call Plugin.Bkgnd.LeftClick(Hwnd, 0, 0)在按键看了很多教程关于"多开..."的我看了后回味,似乎都是单线程的,往往新手会问,难道不能让精灵同事做2件事情吗?新手问的其实是问:按键可以多线程后台吗?由此我突然奇想且试验成功.且次试验可将任何的单开后台变为多开后台脚本.如有愚昧的地方指指教了. 作业:设计一个在记事本上后台打字"1"的循环代码要求:能循环多开Hwnd = Plugin.Window.MousePoint()rem aCall Plugin.Bkgnd.KeyPress(Hwnd, 49)Delay 500goto a注:8.0写的如只有7的同学自己翻译不太难的回复后能见教程本帖隐藏的内容需要回复才可以浏览第一步:将禁止脚本重复运行选为否(在是否循环的下面)第二步:设置启动热键为F2(以免与记事本热键冲突)第三步:保存退出(或选调试)第四步:打开第一个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化第五步:打开第二个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化........此时你如果将多个记事本都打开看他们都在干活呢-------可以无限后台多开-多线程的哦总结:第一步很关键.启示:如果我做的"打1"的脚本换成打怪的呢?本帖隐藏的内容需要回复才可以浏览第1步:什么是后台插件及命令首先我们要明白什么是后台插件以及后台命令,在编辑窗口找到全部命令,找到窗口插件(建议大家可以站内搜一下361插件,下载后放进去,看一下361插件的命令),点开后点击每一条命令仔细看说明,对比每条命令跟前台命令的对应关系,这样我们就可以把对应的前台命令转换为后台命令了。

第2步:窗口句柄的概念以及如何找出窗口句柄操作系统种每打开一个窗口就会相应的为这个窗口做一个记号,他是用一串数字表示,也就是我们所要找的窗口句柄了(新手的理解方式不知道准确不^-^),这个东西对我们后台操作来说是最重要的,你在查看插件命令的时候都会看到,我们每个命令后面跟的参数里面都有个hwnd,他其实就是窗口句柄变量。

怎么样理解窗口句柄其实很简单吧第3步:窗口坐标(可以理解为后台坐标)窗口坐标是指游戏窗口里面的坐标,如果我们把屏幕坐标比作绝对坐标,那么窗口坐标就是个相对坐标了,我们平时用抓抓找出的坐标就是屏幕坐标,所以他是不能直接在后台用的。

其实不用对窗口坐标很烦恼,如果你下载了361插件,有个很简单的方法可以直接找出窗口坐标。

Plugin hw=Window.MousePoint()Plugin text=Window.GetText(hw)Plugin class1=Window.GetClass(hw)VBSCall GetCursorPos(x,y)Plugin win=BGKM5.ScrToCli(hw,x,y)MessageBox "窗口句柄:"&CStr(hw)&VbCrLf&"窗口名:"&text&VbCrLf&"类名:"&class1&VbCrLf&"鼠标所在位置的窗口坐标:"&win这段代码是从361插件哪里抄来的^-^如果不理解的话你在下载361插件的时候应该那里能看到说明把这段做成脚本你就可以很方便的找到你需要的点的窗口坐标,省去了在脚本中加入窗口坐标转换的麻烦。

第4步:定义窗口句柄变量这步是你是否成功的关键,窗口插件里面可以看到很多定义窗口变量的命令(这个是361里面没有的,在窗口插件里面找吧),我个人喜欢用的是这条:Pluginhw=Window.MousePoint()大致意思是找出当前鼠标说在窗口的窗口句柄(hw是自己定义的变量,你可以更改它,一般多数地方是hwnd,你可以用你自己喜欢的方式定义)注:前后台命令的区别基本上到第4步我们已经能够做出后台脚本了,但是有很多新学的朋友(比如我^-^)还是要问前台命令和后台命令到底怎么回事啊??我给自己解释一下,用几个例子来比较吧(我用的361插件命令)鼠标左键:前台(LeftClick 1)后台Plugin BGKM5.LClick(参数1,参数2,参数3)}鼠标移动:前台moveto (参数1,参数2)后台Plugin BGKM5.Mouse(参数1,参数2,参数3)键盘按键(回车键):前台keypress(13,1)后台Plugin BGKM5.KeyClick(参数1,13) 看出区别了吧,首选后台命令都有一个“Plugin”这个东西是调用插件命令的意思,不用管它了,主要区别在参数那里,后台命令里面动作参数都要比前台多一个,就是那个参数1,其实那个东西就是窗口句柄了,也就是说我们自己开始定义的那个变量hwnd,到这里应该都明白了吧,如果不明白那你比我还笨咯,努力吧^-^写在最后,还在继续努力学习中如果有新的心得的话我还会继续写成系列的361后台找图插件的按键8代码使用方法【收】Rem a//这里面的sx和sy就是x和y的左边值是一开始我用另一段语句定义sx,sy为起始坐标Delay 50//鼠标点击游戏内打开任务栏的位置Call Plugin.Bkgnd.LeftClick(Hwnd,sx + 444, sy + 555)Delay 200//鼠标移动到起始点避免找图时被鼠标遮挡Call Plugin.Bkgnd.MoveTo(Hwnd, Sx, Sy)Delay 300//在游戏窗口内0, 0,1000, 1000 的范围内找能确定任务栏打开的那个图Call Plugin.BGCP2.FindPicture(hwnd, 0, 0,1000, 1000 ,"C:\任务.bmp",30,0.9,x,y)//如果找不到可能是没有点开从新返回a点击并找图直到点开找到为止//找不到时返回的值是-1 所以用“<0”来判断If x<0 And y<0goto a//判断结束,也就是说找到了EndIf//这时候你可以执行下一步了这个是361°后台插件放在按键精灵的plugin目录下//得到当前鼠标指向的窗口的句柄赋值给hwndHwnd = Plugin.Window.MousePoint()//找图前先转换句柄为hwnd的窗口Call Plugin.BGCP2.TransformWindow(hwnd)//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热键,它也会执行了这个过程再停止,这样能保证占用的资源被释放Sub OnScriptExit//将前面转换的窗口还原Call Plugin.BGCP2.UnTransformWindow(hwnd)End Sub一段简单实用的代码,不会取后台坐标的进来回复。

绝对值。

实时显示光标所在屏幕坐标,所在当前窗口窗户区坐标,16进制颜色&R,G,B三色!!有些朋友不明白我这帖子的意思。

现在再来说说,我这个不是什么后台命令,只是取坐标和颜色的。

只要鼠标在当前窗口中,屏幕上显示的客户区坐标就是后台要用的坐标。

相关文档
最新文档