大漠插件帮助文档1
大漠插件后台寻图、主动猎取坐标窗口句柄鼠标多点左单击足本[精品]
大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本一、准备工作第一步:下载大漠插件、解压,运行“注册大漠插件到系统.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) //这句用来绑定辅助操作的对象窗口//下面是一条判断语句,如果绑定失败就会提示。
易辅客栈大漠插件命令详解及使用方法
易辅客栈大漠插件命令详解及使用方法
沉睡在地底的笋子知道时间到了,温暖的阳光、新鲜的空气、湛蓝的天空在召唤着它们,春天在召唤着它们。
这是一个绵雨过后的清晨,竹林里雾气弥漫,有些阴森。
不远处,一只野鸡正在觅食,她的孩子们步履阑珊地跟在身后,几只早早冒出地面的笋子已经遭了秧,它们被这经验老道的食客翻了个底朝天,那些包在最深处的笋肉,是山林赐给初春食客们的美味。
一只大胖笋子悄悄地探出脑袋,一阵清风拂过它的头顶,空气湿润,竹林里杯盘狼藉,看着那些叽叽喳喳的小鸡和鸡妈妈熟练的动作,它不由得打了个寒战。
祝你好运,笋子先生。
盛夏的山林更加热闹,聒噪的知了日日夜夜地叫嚷着,林子里的青蛙和蛐蛐儿也想凑个热闹,那些白日里根本无处可寻的娃娃鸡和猫头鹰也不甘示弱,于是高音和低音交相辉映,合奏与独唱连绵不绝,一场长达半年的演唱会浑然天成。
那些活泼的意图求偶的雄性小山雀上蹿下跳,欲用或优美或华丽或夸张的舞姿,博取雌性的青睐,它们也沾了这场演唱会的光,不多时便携着爱侣比翼双飞了。
等着吧,再过不久林子里又会多出许多小生命,它们都是山林的传承者,一群吵闹却可爱的小精灵。
按键精灵大漠插件excel操作语句
按键精灵大漠插件excel操作语句一、打开Excel文件1. 打开指定路径下的Excel文件:excel.Open("D:\test.xls");2. 打开当前路径下的Excel文件:excel.Open("test.xls");3. 打开最后一个打开的Excel文件:excel.OpenLast()。
二、读取单元格数据4. 读取指定单元格的文本内容:excel.ReadCellText("Sheet1", "A1");5. 读取指定单元格的数值内容:excel.ReadCellNumber("Sheet1", "B2");6. 读取指定单元格的公式内容:excel.ReadCellFormula("Sheet1", "C3");7. 读取指定单元格的日期内容:excel.ReadCellDate("Sheet1", "D4")。
三、写入单元格数据8. 在指定单元格中写入文本内容:excel.WriteCellText("Sheet1", "A1", "Hello World");9. 在指定单元格中写入数值内容:excel.WriteCellNumber("Sheet1", "B2", 123.45);10. 在指定单元格中写入公式内容:excel.WriteCellFormula("Sheet1", "C3", "=SUM(A1:B2)");11. 在指定单元格中写入日期内容:excel.WriteCellDate("Sheet1", "D4", "2022-01-01")。
按键插件应用说明
按键插件应用篇注意:本篇做为按键使用大漠插件的插件篇,本篇会按会员要求有所增补,故顺序会有所改变,请大家按实际顺序观看!第一节、教你做一个最简单的打怪挂在我们做游戏的辅助工具的时候,一般是将游戏窗口化,这样是为了将来游戏多开或者是后台打游戏,前台可以看电影等等做准备的。
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、我们就找这个字吧,“路”,请仔细看我的操作好,文字识别大家都会了吧,我在下一节给大家讲一下游戏的后台判断。
大漠插件 findpic技巧
大漠插件 findpic技巧
大漠插件是一种常用于游戏辅助的软件工具,具有自动捕获屏幕上的任何区域进行截图,并能自动屏蔽截图时的鼠标界面,还具有多图连抓、简单界面操作等特性。
而FindPic是其中的一种功能,主要用于查找图片。
使用大漠插件FindPic功能时,需要注意以下几点技巧:
1. 确保插件版本是最新的,以便获取最新的查找功能和修复可能存在的错误。
2. 在使用FindPic功能之前,先了解该功能的参数设置。
例如,相似度参数sim,取值范围在之间,可以根据需要调整;查找方向参数dir,可以设定为0:从左到右,从上到下,1:从左到右,从下到上,2:从右到左,从上到下,3:从右到左,从下到上等。
3. 在使用FindPic功能时,可以先尝试一些简单的图片查找,以便熟悉该功能的使用方法和参数设置。
4. 如果需要查找的图片较多,可以先对部分图片进行查找,并逐步扩大查找范围,以避免因查找范围过大而导致的查找效率低下。
5. 注意保存和备份查找结果,以免因误操作或其他原因导致数据丢失。
以上是大漠插件FindPic功能的使用技巧,希望能对你有所帮助。
大漠插件帮助文档1
大漠插件帮助文档11常见问题1 LoadPic和FreePic什么时候调用LoadPic是把指定的图片加载入插件内部缓存(内存),这样在调用FindPic等等所有和图片相关的函数时,都不需要再从文件加载图片,这样相当于加快了函数执行的效率.FreePic是把加载入内部缓存(内存)的图片释放.事实上,插件内部在你调用所有的和图片相关的函数,比如FindPic等函数后,会自动把你调用过的相关图片加入缓存(内存),就相当于你调用了LoadPic。
所以如果不是对性能有太苛刻的要求,一般不需要调用LoadPic,除非有特别用途.2 Regsvr32出现常见错误部分精简GHOST系统有。
原因是把系统DLL给精简掉导致的。
解决办法开始->运行->Regsvr32 atl.dll 即可0x8002801c:系统没有关闭UAC. 主要在win7 vista 2008系统出现.解决办法,手动关闭UAC或者regsvr32用管理员权限启动,或者调用RegDll的进程必须有管理员权限.手动关闭UAC的方法控制面版-用户帐号-更改用户帐户控制设置3 VBS调用规范大漠插件,建议大家用VBS的方式来调用,具体调用规范如下,两种方式可以结合使用1. 无返回值的不能带括号 ,或者说无括号不能带返回值,例如dm.FindStr 0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intYdm.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按键多线程调用插件目前来讲,按键的多线程还不够成熟。
大漠插件开发手册
大漠插件开发手册大漠插件是一款用于自动化操作和控制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接口,比如模拟键盘按键、模拟键盘输入等。
大漠各个插件说明
大漠各个插件说明1. 无返回值的不能带括号, 或者说无括号不能带返回值, 例如dm.FindStr 0,0,2000,2000," 长安","aaaaa-00000",1.0,intX,intYdm.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()// 主绑定( 当然你也可以不要主绑定。
大漠插件教程
大漠插件教程最近我学习了大漠插件的使用,发现它非常强大。
这里我将和大家分享一些使用大漠插件的方法和技巧,希望能对大家有所帮助。
首先,我们需要下载并安装大漠插件。
网上有很多可信的来源可以下载,大家可以根据自己的需求选择合适的版本进行下载和安装。
安装完成后,我们需要在自己的代码中引入大漠插件的库文件。
具体的引入方式可以根据不同的编程语言进行设置。
在使用之前,我们还需要获取相应的插件授权。
完成上述准备工作后,我们可以开始使用大漠插件了。
首先,我们需要创建一个插件对象,通过该对象来调用大漠插件的各种功能。
创建插件对象的代码如下:```pythondm = Dispatch('dm.dmsoft')```创建完插件对象后,我们就可以通过该对象来调用各种大漠插件的方法了。
下面我将介绍一些常用的方法和技巧。
1. 获取窗口句柄通过`dm.GetForegroundWindow()`方法可以获取当前活跃窗口的句柄。
句柄是窗口在操作系统中的唯一标识,我们可以利用这个句柄来进行后续的各种操作。
2. 查找窗口通过`dm.FindWindow(class_name, window_name)`方法可以根据窗口的类名和窗口名来查找指定的窗口。
类名和窗口名都是窗口的属性,我们可以通过操作系统提供的工具来查看某个窗口的类名和窗口名。
3. 窗口坐标和大小获取窗口的坐标和大小是很常见的操作。
通过`dm.GetWindowRect(hwnd)`方法可以获取指定窗口的左上角和右下角的坐标,从而计算出窗口的宽度和高度。
4. 鼠标操作大漠插件可以模拟鼠标的各种操作,包括移动、点击、双击等。
通过`dm.MoveTo(x, y)`方法可以将鼠标移动到指定的坐标位置,通过`dm.LeftClick()`方法可以模拟鼠标左键的点击操作。
5. 键盘操作大漠插件还可以模拟键盘的各种操作,包括按键、释放、组合按键等。
通过`dm.KeyPress(key_code)`方法可以模拟按下指定键的操作,通过`dm.KeyUp(key_code)`方法可以模拟释放指定键的操作。
大漠插件 调用变量
大漠插件调用变量当涉及到插件和调用变量时,具体操作可能会因不同的编程语言和环境而有所不同。
但我可以尝试为你提供一个一般的指导,假设你在使用某种脚本语言与大漠插件进行交互。
首先,确保你已经正确安装了大漠插件,并且它已经被配置为与你的脚本语言兼容。
以下是一个示例步骤,展示如何调用大漠插件中的变量:1. 导入或引用大漠插件:根据你使用的编程语言和环境,可能需要导入相应的库或模块。
确保你已经正确导入或引用了大漠插件的相关部分。
2. 获取插件对象:使用适当的API或方法,获取大漠插件的对象实例。
这将允许你与插件进行交互。
3. 访问变量:一旦你获得了插件对象,你可以使用相应的API或方法来访问其中的变量。
具体的访问方法可能会因插件的不同而有所差异,因此请参考大漠插件的文档或相关说明。
以下是一个示例代码片段,展示了如何调用大漠插件中的变量(请注意,这只是一个通用示例,具体实现可能因实际情况而有所不同):```python# 假设你已经导入了与大漠插件相关的库或模块# 获取大漠插件对象plugin = get_plugin_instance()# 假设你要访问的变量名为"myVariable"variable_value = plugin.get_variable("myVariable")# 现在你可以使用变量值进行进一步的操作print(variable_value)```请注意,上述代码仅为示例,并且假设你已经具备了与大漠插件交互所需的基本知识。
在实际应用中,你可能需要参考大漠插件的文档、示例或相关资源,以了解如何正确地调用变量并与其进行交互。
如果你能提供更多关于你的具体环境、使用的编程语言和插件版本的详细信息,我可以为你提供更具体的帮助和示例代码。
大漠插件系统
depth 整形数: 系统色深
整形数:
返回值: 0 : 失败
1 : 成功
脚本例子:
dm_ret = Plugin.dm.SetScreen(1024,768,16)
命令名称: SetUAC
命令功能: 设置当前系统的UAC(用户账户控制).
enable 整形数: 取值如下
命令参数:
0 : 关闭UAC
1 : 开启UAC
脚本例子: TracePrint Plugin.dm.GetClipboard()
命令名称: GetDir
命令功能: 得到系统的路径
type 整形数: 取值为以下类型
0 : 获取当前路径
1 : 获取系统路径(system32路径)
命令参数:
2 : 获取windows路径(windows所
在路径)
3 : 获取临时目录路径(temp)
命令名称: dmBeep
命令功能: 蜂鸣器.
命令参数:
f 整形数: 频率 duration 整形数:
时长(ms).
整形数:
返回值: 0 : 失败
1 : 成功
脚本例子: Plugin.dm.dmBeep 1000,1000
命令名称: CheckFontSmooth
命令功能:
检测当前系统是否有开启屏幕字体平滑. <收费功能>
获取当前系统从开机到现在所经历过的 时间,单位是毫秒
返回值:
整形数: 时间(单位毫秒)
t1 = Plugin.dm.GetTime()
dm_ret =
脚本例子:
Plugin.dm.dmFindPic(0,0,2000,2000," test.bmp","000000",1.0,0,x,y)
python调用大漠插件教程02大漠插件绑定测试工具
python调⽤⼤漠插件教程02⼤漠插件绑定测试⼯具什么是⼤漠插件绑定测试⼯具?这是⼤漠插件为了⽅便使⽤者调试绑定窗⼝的模式⽽设计的,因为有些程序不会接受⼀般的⿏键事件的响应模式,每个程序所需要的响应模式都不尽相同,所以这个⼯具可以使我们在绑定窗⼝时的调试更加⽅便。
在哪⾥下载此⼯具?在⼤漠的vip群⾥,或是⼤漠后台⽹址。
为什么要使⽤此⼯具?因为使⽤⼤漠插件的前提就是先绑定窗⼝,绑定窗⼝涉及很多参数(图⾊,键盘,⿏标等)每个参数⼜有很多模式选择,如果⾃⼰在代码⾥⼀个⼀个进⾏调试,会浪费很多时间。
如何使⽤此⼯具?⾸先打开⼯具,确定⾃⼰的插件路径然后输⼊⾃⼰的注册码。
然后打开以后的界⾯如下所⽰,在综合设置的页⾯中,将图中红⾊箭头的靶⼦拖到需要绑定的窗⼝上。
图中下⽅位置的综合设置参数⾥SetSimMode函数有三种模式 0 正常模式(默认模式)1 硬件模拟2 硬件模拟2(ps2)(仅仅⽀持标准的3键⿏标,即左键,右键,中键,带滚轮的⿏标,2键和5键等扩展⿏标不⽀持)3 硬件模拟3使⽤⽰例SetSimMode(0)在第⼀个页⾯设置好以后切换到第⼆个绑定参数页⾯,其中的所有参数都要根据⾃⼰绑定的窗⼝进⾏设置。
设置好以后依次切换到测试图⾊,⿏标,键盘。
测试图⾊只需要切换到这个页⾯,然后点击Capture,如果截图很全(没有⿊边或是截图界⾯不完整的情况则图⾊模式正确)测试⿏标的⽅法多种多样,例:可以拖动此界⾯的靶⼦到你想点击的地⽅,然后勾选后接⼀个LeftClick如果⽣效则⿏标模式正确测试键盘,例:直接按照提⽰组合键,⽣效则模式正确。
也可以使⽤单⼀键,都很随意上述绑定参数都正确后回到第⼆个页⾯点击⽣成代码,会在右侧的⽇志中显⽰出绑定代码,复制到⾃⼰的程序中即可完成绑定需要注意的点这个测试绑定参数的过程需要⼀定的耐⼼。
另外复制的代码和python有格式不兼容的地⽅,有些细节需要修改⼀下。
另外需要保证⾃⼰的桌⾯缩放⽐例为100%。
按键精灵插件工具大漠-大漠注册
按键精灵插件工具大漠-大漠注册// 首先打包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 来注册. 这里必须使用绝对路径。
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"还可以⽤⼤漠实现⿏标移动、点击等。
大漠插件绑定窗口原理
大漠插件绑定窗口原理一、背景介绍大漠插件是一款常用的Windows自动化工具,可以实现鼠标键盘的模拟操作、窗口识别、图像识别等功能。
在使用大漠插件时,我们需要将其与目标窗口进行绑定,以便对该窗口进行操作。
本文将介绍大漠插件绑定窗口的原理。
二、大漠插件基本原理大漠插件基于Windows API实现,可以通过调用Windows API来实现鼠标键盘模拟操作、窗口识别等功能。
在使用大漠插件时,我们需要先创建一个对象,并使用该对象调用相应的方法来实现所需功能。
三、窗口句柄在Windows系统中,每个窗口都有一个唯一的句柄(handle),可以通过这个句柄来对该窗口进行操作。
在使用大漠插件时,我们需要获取目标窗口的句柄,并将其与大漠插件进行绑定。
四、获取窗口句柄获取目标窗口的句柄有多种方法,其中比较常用的方法有以下几种:1. 使用FindWindow函数FindWindow函数可以根据窗口类名和窗口标题来查找符合条件的第一个顶级窗口,并返回其句柄。
具体使用方法如下:HWND hwnd = FindWindow(NULL, "窗口标题");其中,第一个参数为窗口类名(如果不指定,则表示查找所有顶级窗口),第二个参数为窗口标题。
2. 使用FindWindowEx函数FindWindowEx函数可以在指定的父窗口下查找符合条件的子窗口,并返回其句柄。
具体使用方法如下:HWND hwndParent = FindWindow(NULL, "父窗口标题"); HWND hwndChild = FindWindowEx(hwndParent, NULL, "子窗口类名", "子窗口标题");其中,第一个参数为父窗口句柄,第二个参数为子窗口句柄(如果不指定,则表示查找所有子窗口),第三个参数为子窗口类名,第四个参数为子窗口标题。
3. 使用EnumWindows函数EnumWindows函数可以枚举系统中所有顶级窗口,并对每个顶级窗口调用一个回调函数进行处理。
大漠插件系统
⼤漠插件系统命令名称: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注 : 调⽤此函数后,可能在系统中还是看到屏保是开启状态。
VS2008调用大漠插件
YYX –来不及思考博客地址:/ 无意之中找到了大漠插件,这个插件给我们写游戏辅助的来说带来了很大的便利,我琢磨了一段时间把VS2008如何调用DM.DLL的方法写出来,共享给那些为此带来困恼的朋友们。
首先我们新建一个MFC项目:
去掉我们多余不需要的控件。
拖上一个按钮上去:
工程上右键点添加类,然后选择
然后添加上去我们的DM.DLL在点会自动生成Cdmsoft.h文件,我们点完成。
在我们的里面导入Cdmsoft.h
然后在我们的按钮添加如下代码:
Cdmsoft dm;//申明一个对象
WinExec("regsvr32.exe dm.dll /s",SW_SHOW);//注册我们的DM.DLL
CoInitialize(NULL);
CLSID clsid;
HRESULT
hr=CLSIDFromProgID(OLESTR("dm.dmsoft"),&clsid);//利用“根名称.类名”获取CLSID,&就是把指针给函数,也就是传址。
dm.CreateDispatch(clsid);//从注册表中获取到dll路径,到这里就调用成功了。
剩下就是调用DM.DLL本身里面功能函数,至于在那里初始化合适,那里卸载合适,自己去琢磨。
图文教程结束,希望能帮到大家!。
E语言开发环境如何载入大漠插件(图文教程)
有图有真相(添加大漠插件)Step1
运行“注册大漠插件到系统.bat”(大漠插件的文件夹中就有) Step2
Step3
Step4
之后会看到
点击下一步
Step5
(要选中数据类型,这里是dmsoft,即dmsoft就是我们对外公开的接口)需要起中文名的可以起名字,不需要的点击下一步
Step6
点击保存
点击保存
点击是
点击是
Step7
重新打开E语言开发环境,创建一个windows窗口程序,工具→支持库配置,
把Dm勾选上,完毕。
TEST:
成功,显然已经可以用了
P.S.:就是添加一个类型库的一般流程,其他的类型库也可以如此添加。
提问:
1,何为OCX组件?
答:OCX组件是一种能完成某功能的组件(如播放器组件,编辑框组件…),由开发商定制完成,我们直接插到E语言开发环境中即可。
之所以叫它OCX,是因为其扩展名是.OCX。
2,类型库是什么?
答:是许多种信息的集合(这些信息可以是类,接口,方法,属性…),E语言开发环境中注册一种类型库就类似于声明一个接口。
小红脸(2013.7)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
制作透明图,用我的工具就可以很方便快捷的制作出来,这样的准确率是最好的,效率也是最高的.
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来注册,如下
PutAttachment "c:\test_game" ,"*.*"
PutAttachment ".\Plugin" ,"RegDll.dll"
Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
13. FindWindowByProcess和FindWindowByProcessId (可根据进程名或者进程ID来枚举窗口)
14. RunApp 加强模式运行程序. (有些窗口无法用普通模式运行,可以尝试这个。强力模式基本上没有运行不了的)
TracePrint dm_ret
Do
Delay 2000
TracePrint "子线程"
Loop
End Sub
Sub OnScriptExit()
TracePrint "OnScriptExit"
dm.UnBindWindow
所以如果你释放插件到Plugin目录,那么导致的问题就是如果要进行插件升级,很可能就会失败,导致脚本错误.
所以我强烈建议大家养成好习惯,不要把dll释放到Plugin,自己手动注册最安全可靠.这样既利人又利己.
从2.1118B版本之后,大漠插件将禁止释放到Plugin目录,以避免一系列升级产生的BUG!
为了完完全全的对FindStr时,产生的截图进行分析,我们需要用到2.1131版本提供的两个函数。
CapturePre和EnableDisplayDebug.
那么代码如下
dm.EnableDisplayDebug 1
dm_ret = dm.FindStr(0,0,2000,2000,"长安","ffffff-000000",1.0,x,y)
出现这种错误,一般是你的代码给插件传递的参数有明显的错误,帮助调试脚本很有用.
比如FindStr函数
dm_ret = dm.FindStr(20,0,10,100,"abc","000000-000000",1.0,x,y)
这样显然x1(20) >= x2(10) 这显然是错误的
2 Regsvr32出现常见错误
部分精简GHOST系统有。原因是把系统DLL给精简掉导致的。
解决办法 开始->运行->Regsvr32 atl.dll 即可
0x8002801c:
系统没有关闭UAC. 主要在win7 vista 2008系统出现.
解决办法,手动关闭UAC或者regsvr32用管理员权限启动,或者调用RegDll的进程必须有管理员权限.
dm.MoveTo intX,intY
dm.LeftClick
dm.SetPath "c:\xxxx"
dm.SetDict 0,"test.txt"
dm.LoadPic "*.bmp"
等等,这些都是不需要返回值的,那么不需要加括号,当然,你也可以加括号,但是就必须遵循规则2
2.有返回值的必须带括号,或者说,有括号必须有返回值,例如
目前来讲,按键的多线程还不够成熟。 尽量少用。以下是在按键下使用多线程调用插件的一个示例.
// 注册部分我就省略了
Dim hwnd
Set dm = createobject("dm.dmsoft")
TracePrint dm.Ver()
// 主绑定(当然你也可以不要主绑定。直接在线程里绑定)
3. 重新启动脚本即可
4. 如果这样还不行,尝试手动注册,手动在运行下,输入regsvr32 c:\test_game\dm.dll,
如果这样还提示出错,那就是系统问题,重装干净安全的系统.
最好不要用ghost系统,很多ghost系统都是修改过系统文件的,很危险!
8出现坐标越界的解决办法
8.EnableKeypadPatch , EnableKeypadSync和EnableMouseSync (键鼠同步接口)
9.内存接口中的FindIntEx FindFloatEx FindDoubleEx FindStringEx FindDataEx (强力高速内存搜索接口,多线程)
再比如
dm_ret = dm.FindStr(-2000,0,-1000,100,"abc","000000-000000",1.0,x,y)
这样显然x2小于0 这也是明显错误 不可能有这样的情况出现
等等类似的错误
如果不想显示这样的信息,可以调用插件的接口SetShowErrorMsg来屏蔽这些错误
那么其它部分的接口完全没有影响,可独立操作.
11插件收费功能
目前插件大部分功能都是免费给大家使用,但下面这些功能是收费使用。(简单游平台无此限制,大部分功能上按键上无限制)
紫色文字表示的功能在按键上是不支持的,仅仅支持简单游平台和付费用户. 按键平台要调用紫色文字标识的功能,必须配合Reg或者RegEx函数.
if x < 0 then
dm_ret = dm.CapturePre("screen.bmp")
end if
这样就把FindStr时的截图保存下来了,就完全恢复了现场. 因为CapturePre这个函数是截取上一次的截图数据.
6插件释放到Plugin里的要求
首先从理论上来说释放到任何目录都是没问题的
1.BindWindow和BindWindowEx 中的模式1 3 5 6 7. (强力绑定模式,并且可过部分检测)
2.BindWindow和BindWindowEx中的dx.mouse.cursor, (后台鼠标特征.)
3.BindWindowEx中的dx.public.fake.window.min和dx.public.disable.window.show (假最小化功能)
End Sub
5本机文字识别正常 为什么别的机器识别不正常
这是一个很常见的问题,不同机器,由于系统的不同或者软件设置的差异,会导致文字颜色,字体等可能存在不同。
一般来说解决这个问题,以前的办法是这样,利用Capture函数,比如
dm_ret = dm.FindStr(0,0,2000,2000,"长安","ffffff-000000",1.0,x,y)
Do
Delay 2000
TracePrint "主线程"
Loop
// 这里必须用ExitScript 以免线程无法停止.
ExitScript
Sub 测试线程()
Set dm = createobject("dm.dmsoft")
// 副绑定
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)
比如
dm.SetShowErrorMsg 0
9对边缘模糊文字的识别
对于这个问题,问的人比较多 很多情况下,文字并不是我们想象的边缘锐利,而是有一定的渐变,这时,再去用普通的文字识别,误判的几率就很高
而且就算是加入了模糊度判定,还是可能会误判.
解决办法是,不要用文字识别,改用多点找色,或者是自己制作透明图,自己写算法来进行判别.
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)