当前位置:文档之家› 大漠插件后台找图

大漠插件后台找图

大漠插件后台找图
大漠插件后台找图

磨了一下午终于找图成功了。本人使用按键精灵。

第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~

第二步:创建一个文件夹,以c:\test 为例。把你要找的图(1.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。

第三步:打开按键精灵,创建一个新脚本。往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图1.bmp

第四步:脚本中加入如下语句

PutAttachment "c:\test", "*.*" //意思是释放所有附件到c:\test目录。就是把有用的文件打包到test目录下

PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册

Call Plugin.RegDll.Reg("c:\test\dm.dll") //这句忘了啥意思了,应该是呼唤大漠插件到按键精灵里来吧~

Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dm

dm_ret = dm.SetPath("c:\test") // 设置全局路径,以后你找图用的图片都默认是test 目录里的图片了,否则你要用绝对路径c:\test\1.bmp来该表示图片

dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片

Hwnd = dm.GetMousePointWindow() // 用大漠软件获得鼠标指向窗口的句柄,保存在Hwnd 里

Call Plugin.Window.Move(Hwnd, 0, 0) // 这句没搞懂。不知道有哦没有用

dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口

//下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧

Delay 10

If dm_ret = 1 Then

Else

MessageBox "绑定失败,重启脚本或联系作者"

EndScript

End If

dm_ret = dm.FindPic(0,0,2000,2000,"1.bmp","000000",0.9,0,X,Y) // 后台查找图片。坐标、图片地址、色差、相似度、查找顺序、返坐标

If X >0 and Y >0 Then

MessageBox X&","&Y

Else

MessageBox "没找到"

End If

//***************************************************************//

新手常遇到的困难总的来说有三点:

1、注册插件失败,检查一下前面三步

2、绑定窗口,貌似说明书里都找不到这条句子,都从网上搜来的

3、注册和绑定都成功了,图片路径也对,找不到图。看看你图有没

什么问题。我开始也是找不到图,后来发现原因,该图是一部分是灰色半透明的,截图的时候该图的后面是一个背景图,而运行脚本的时候背景图被我移动了,主体部分看起来一样,实际上是找不出来的。要重新截图,想办法固定背景

这两张图周围的灰色是不同的,不信就用按键

抓抓抓一下

大漠插件字库原理介绍

首先说明下大漠综合工具制作字库的过程和原理 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 Then MessageBox x1 & y1 End 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 then Messagebox "可以" Else

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击 脚本 一、准备工作 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.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//获取窗口句柄给定的坐标x zby=100//获取窗口句柄给定的坐标y PutAttachment "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") //用大漠插件创建一个对象dm dm_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) //这句用来绑定辅助操作的对象窗口 //下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧 Delay 10 If dm_ret = 1 Then Else MessageBox "绑定失败,重启脚本或联系作者" EndScript

办公软件教程(含wordexcelppt)-从零基础学起

办公软件教程-从零基础学起 Office XP主要包括:字处理软件Word、Excel、PowerPoint等应用程序。它们具有统一的界面、相似的常用工具栏及大同小异的操作方法,只是各自的侧重点有所不同。 Word是文字处理软件。它集成文字处理、表格处理和图形处理于一体,汇集了对各种对象的处理工具,使图片、图表、表格、艺术字等的处理得心应手。 Excel是以表格化数据处理为基础的集成化处理软件。它不但能实现电子表格数据处理,也具有数据库管理、统计图表自动生成等功能。 PowerPoint是创作电子演示文稿的软件。利用它可以方便地制作出集文字、图形、图像、声音、视频和动画于一体的多媒体演示文稿。 一、Word特点

1.对文档提供了多种查看方法; 如:普通视图、页面视图、大纲视图、Web版式视图、文档结构图、全屏显示、Web页预览、打印预览等。 2.具有专业级的表格处理功能; 3.使用方便的多栏彩色图文混排、艺术字处理; 4.具有功能很强的数学公式编辑器; 5.具有多种类型文件的转换功能。 二、窗口介绍 菜单栏、常用工具栏、格式工具栏、正文编辑区、状态栏、标尺、滚动条等。 注:工具栏的显示与隐藏(视图→工具栏→各种工具栏。) 三、页面设置:“文件”→“页面设置”。 1.纸张的大小(常用的纸张:A3、8K、B4、A4、16K、B5。) 2.设置页边距:调整正文到纸张边界[2] []大2小。 四、文档编辑 1.建立文档(Ctrl + N) (1)录入文字,录入时不要排版,每()1一段敲一次回车,每段前空两个汉字位置。(2)特殊符号录入:“插入”→“符号”或用动态键盘。 (3)显示/隐藏文档中的非打印符号。 2.保存文档 (1)保存(Ctrl + S) (2)另存为 3.打开和关闭文件(打开:Ctrl + O) 4.文档选择基本方法 (1)拖动选择

Office基本操作教程

O f f i c e基本操作教程 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

Office基本操作 第一章:基础知识 1、美国徽软公司开发的办公集成软件 Word 文字处理 Excel 电子表格 2、Word的启动与退出 (1)启动: 方法一、双击桌面Word图标 方法二、开始/程序 方法三、选择Word图标,点击鼠标右键,在弹出的菜单中选择打开; (2)、退出 方法一、Alt+F4 方法二、双击系统图标; 方法三、单击关闭按钮; 3、Word xp视窗 (1)、标题栏 作用:显示系统图标,文件名称等; 操作:双击实现“最大化”与“还原”间切换,拖动实现窗口移动; ?(2)、菜单栏 ?作用:包含应用程序所有功能; ?操作:1、打开菜单项 ?方法一、鼠标单击方法二、Alt+对应字母 ?2、自定义菜单项 ?方法:选择工具/自定义,出现对话框选择“命令”选项下的内置菜单,用鼠标拖拉菜单,即可添加/删除菜单; ?3、工具栏 ?操作:1、拖动实现位置移动(可移动到作何位置) ? 2、显示隐藏工具栏 ?方法一:“视图”/工具栏单击勾选相应项目; ?方法二:右击菜单栏/工具栏空白处 ?4、标尺栏 ?作用:段落缩进、边距调整、表格行/宽高等调整;

?垂直水平 ?操作:1、度量单位的改变 ?工具/选项/常规 ? 2、显示/隐藏 ?方法一:视图/标尺 ?5、工作区:用户编辑文档的地方; ?6、状态栏:显示当前操作状态,插入点位置信息等; ?7、任务窗格:及时提供操作需要的命令等,也可自得选择任务窗格内容; ?操作:1、显示和隐藏; ?选择“视图”菜单,在弹出的菜单勾选任务窗格则显示,反之隐藏; ? 2、切换窗格内容; ?点击任务窗格中的三角形,可弹出菜单,选择相应内容; ?8、文档的操作 ?a、新建 ?方法一:文件/新建 ?方法二:Ctrl+N ?方法三:点击工具栏上的新建按钮; ?b、打开 ?方法一、文件/打开或Ctrl+O键 ?方法二、点击工具栏上打开按钮; ?在打开对话框中,指定文件所在文件夹,指定文件名; ?指定打开形式,单击打开右边的向下三角形按钮,以只读方式打开,只能对文档进行查看,不能进行更改;以副本方式打开,在包含源文件的文件夹中创建文件的一个新副本; ?C、保存 ?普通保存 ?方法一:文件/保存或Ctrl+S ?方法二:点击工具栏上保存按钮; ?在保存对话框中,设定保存位置,指定文件名,指定保存类型; ?注:以上保存执行首次后,现保存,对话框不现出现,如需另存或查看保存情况,须执行“文件”/“另存为” ?自动保存 ?为了防止意外的死机或断电造成数据丢失,让计算机每隔一段时间自动执行保存命令;

开源 C++配合大漠插件实现的消息泵模式按键模拟编程

开源C++配合大漠插件实现的消息泵模式按键模拟编程 开发背景:某天正在用OPENGL写一个UI界面库,发现实现过程越来越很有趣,一发不可收拾。 于是想着能不能在逻辑型代码上实现类似界面的那种思维。 花了2天写的,对新手或者老手都是会有帮助的。 这个类库的特点: 逻辑全部封装,你只需要提供要执行的行为,已经行为达到某个触发条件执行特定的事物。执行Execu即可。免去了大量重复的逻辑判断,大量的重复的函数调用。 加载大漠插件避开了COM组件注册表机制,用的WIN32方式加载 示例代码: 代码: DmFindPic PicBaiDu_Open;//点击召唤师资料 DmFindPic PicBaiDu_Yixia;//查找是否有装备设置图标但不点击 PicBaiDu_Open.SetPicName(".\\1.bmp"); PicBaiDu_Yixia.SetPicName(".\\2.bmp"); { PicBaiDu_Yixia.Enable_Click_whileFind(false);//找到图片不点击 PicBaiDu_Yixia.Enable_break_whileFind();//找到了就退出app1 DmABCDEFG_ACTION Yidong; Yidong.SetWay(偏移,100,20); PicBaiDu_Yixia.AddSubDo(&Yidong); DmABCDEFG_ACTION Shuangji; Shuangji.SetWay(双击,NULL); PicBaiDu_Yixia.AddSubDo(&Shuangji); DmABCDEFG_ACTION Shuru; Shuru.SetWay(输入文字,"测试");

VC大漠实例

MFC VC++ (VS2010) 调用大漠插件实例 小工具源代码: 隐藏鼠标指定的窗口,显示时要求输入密码:119 MiniTool.cpp 部分: // MiniTool.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "MiniTool.h" #include "MiniToolDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CMiniToolApp BEGIN_MESSAGE_MAP(CMiniToolApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) END_MESSAGE_MAP() // CMiniToolApp 构造 CMiniToolApp::CMiniToolApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在InitInstance 中 } // 唯一的一个CMiniToolApp 对象 CMiniToolApp theApp; // CMiniToolApp 初始化 BOOL CMiniToolApp::InitInstance() { // 如果一个运行在Windows XP 上的应用程序清单指定要 // 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式,//则需要InitCommonControlsEx()。否则,将无法创建窗口。

INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("MiniTool by liuh")); WinExec("regsvr32.exe dm.dll /s",SW_SHOW);//注册dm.dll,如果dm.dll为当前程序目录相对路径,则直接写dm.dll即可。 CMiniToolDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } // 由于对话框已关闭,所以将返回FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; } Dlg.cpp部分: // MiniToolDlg.cpp : 实现文件

Office办公软件教程全集

《Office办公软件》课程教学大纲 课程名称:Office办公软件 英文名称:office software 课程代码:050087 一、课程基本情况 (一)学分: 1.5 学时:24 (实验学时:24 ) (二)课程类别:专业必修课 (三)适用专业:计算机科学与技术 (四)开设学期:第一学期 (五)先修课程:无 (六)教材与参考书目: 教材: 《大学计算机基础》,高巍巍等编著,中国水利水电出版社,2006年,第一版; 参考书目: 《Office 2003办公应用完全自学手册(附光盘)》,龙马工作室编著,人民邮电出版社,2010年,第一版; 《新概念Office 2003三合一教程(升级版)(含1DVD)》,成昊,毛红霞主编,吉林电子出版社,2008年,第五版; 《Office办公软件应用标准教程(2008版)(配光盘)(清华电脑学堂)》,佟凤义等编著,清华大学出版社,2008年,第一版; 二、课程介绍 (一)office办公软件课程是计算机应用的入门课程,教学内容以基础性、系统性、先进性和实用性为原则,要求达到计算机教学三个层次的第一个层次(计算机文化基础)和第三个层次(计算机应用基础)的信息管理基础层次的教学要求。 (二)office办公软件是计算机基础课,是专业必修课,这门课程对于学生以后工作和学习都是必可少的基本技能,尤其对于计算机专业学生来说更是必须要打好的基础。 (三)利用多媒体教学的手段来具体讲解计算机基础知识、Win xp操作系统、Word、Excel、Internet基础知识等内容,并通过大量实例制作使学生掌握以下技能:具备计算机科学的基本理论和基本常识,具有微型计算机的基本常识;熟练使用Windows xp 操作平台;基本掌握Office 2003的主要软件Word 2003 、Excel 2003和PowerPoint 2003的使用方法;具有计算机网络的基本常识,熟练使用Internet,并可进行简单的网页制作及发布。 (四)这门课属于学生自修的一门课,主要以学生自主学习为主,教师上机指导为方向和学习的保证。高清电视棒 https://www.doczj.com/doc/e110545165.html,

办公软件教程——基础教程

第一讲 Windows入门 一、桌面的认识 1、桌面:开机键开机——打开显视器,Wiondows启动后出现的屏幕就是用户与计算机交互工作的场所,我们通常称之为桌面。 2、图标:用图形符号来表示当前未打开的和程序、文档、文件夹。像“我的电脑”。根据图标左下角有无箭头,可分为系统图标和快捷图标。 3、任务栏:位于屏幕最底行。通过切换来执行不同任务。快速启动栏,输入法,系统时间。 二、鼠标和键盘的操作 1、鼠标的使用:左键是主键,右键是副键。大部分操作通过左键来完成。 1)指向:移动鼠标直至鼠标指针停留在屏幕上的特定位置。 2)单击:将鼠标指针指向某一目标,快速按一下鼠标左键。 3)双击:将鼠标指针指向某一目标,快速连续按两下鼠标左键。 4)右击:将鼠标指针指向某一目标,快速按一下鼠标右键。 5)拖拽:将鼠标指针指向某一目标,按住鼠标左键不放,移动指针至指定位置后 松手。 2、键盘认识 键盘通常是由:主键盘区、功能键区、光标控制键区、小键盘区组成。 1)Enter:确定,或下一行。 2)Esc:强行退出键。 3)换档键:shift输入双字符键面上的字符。

4)空格键:向后空出一个字符。 5)Tab键:制表位键,向后移动光标,在表格中,下一格。 6)Caps lock:大小写字母切换。 7)退格键:向前删除字符。 8)控制键:ctrl辅助键,必须和其他键合用。 三、窗口的认识(每一个应用程序的基本操作画面都是窗口) 1、标题栏:窗口第一行。主要包括菜单控制图标,当前应用程序名称、和一组控制按钮,(最大,最小,关闭) 2、菜单栏:标题栏下方。由可供使用的命令组成。随着应用程序窗口的不同,菜单栏的内容也不同。 3、工具栏:由工具按钮组成。每一按钮代表一个常用的命令,鼠标单击某按钮也就执行了该按钮所代表的操作。 4、窗口工作区:进行文本编辑,处理等工作。 5、水平,垂直滚动条: 6、状态栏:窗口底部,显示当前工作信息,和重要状态信息。 四、菜单: 1、打开与关闭:单击菜单栏上的菜单名打开,单击菜单栏以外的任何地方关闭。 2、菜单中常用符号的含义: 1)命令名称显视为浅灰色,当前状态下该命令无效(剪切); 2)命令名称右侧带省略号,说明执行该命令后,会出现设置对话框(查找);

大漠各个插件说明

大漠各个插件说明 1. 无返回值的不能带括号, 或者说无括号不能带返回值, 例如 dm.FindStr 0,0,2000,2000," 长安","aaaaa-00000",1.0,intX,intY dm.MoveTo intX,intY dm.LeftClick dm.SetPath "c:\xxxx" dm.SetDict 0,"test.txt" dm.LoadPic "*.bmp" 等等,这些都是不需要返回值的, 那么不需要加括号,当然, 你也可以加括号, 但是就必须遵循规则2 2.有返回值的必须带括号,或者说, 有括号必须有返回值,例如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 hwnd Set dm = createobject("dm.dmsoft")

TracePrint dm.Ver() // 主绑定( 当然你也可以不要主绑定。直接在线程里绑定) hwnd = dm.GetMousePointWindow() dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0) TracePrint dm_ret Id1 = BeginThread( 测试线程) Id2 = BeginThread( 测试线程) Do Delay 2000 TracePrint " 主线程" Loop // 这里必须用ExitScript 以免线程无法停止. ExitScript Sub 测试线程() Set dm = createobject("dm.dmsoft") // 副绑定 dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0) TracePrint dm_ret Do

Call 注册大漠

Call 註冊大漠 Dimenv 環境變數控制碼 //環境變數,線程裏面要用到.要定義為環境變數 ID控制碼字串= "" //****************************** 檢測按鍵,動作 *************************************** do Call Plugin.Msg.Tips("按Insert鍵綁定,按Delete鍵解綁") Key = WaitKey() // 等待用戶按任何鍵 // 下麵是Insert鍵,綁定滑鼠指向的視窗的線程 If Key = 45 Then 環境變數控制碼= dm.GetMousePointWindow() // 滑鼠指向的視窗 // 先判斷,這個控制碼是否在綁定.如果綁定過.不再重複綁定這個視窗 位置= Instr(ID控制碼字串, 環境變數控制碼) //Instr函數,作用是:返回"環境變數控制碼"在"ID控制碼字串"中第一次出現的位置。沒出現就是位置=0 // 如果位置=0 就綁定,預防重複綁定 TracePrint 位置 TracePrint ID控制碼字串 If 位置= 0 Then // 線程ID=BeginThread(多線程) // 多線程 // 按一次Home鍵,就綁定一個視窗多開 控制碼= CStr(環境變數控制碼) ID = CStr(線程ID) // CStr函數是把整數轉換成字串類型 ID控制碼字串= 控制碼+ "|" + ID + "|" + ID控制碼字串 // Call Plugin.Msg.Tips("已綁定,一個視窗") // Else

Call Plugin.Msg.Tips("視窗已經綁定過了,請不要重複綁定") Delay 2500 End If // // //######################################################## // 下麵是按Delete鍵,停止滑鼠指向的視窗的線程 ElseIf Key = 46 Then 滑鼠指向的控制碼= dm.GetMousePointWindow() // TracePrint ID控制碼字串 位置= Instr(ID控制碼字串, 滑鼠指向的控制碼) //Instr函數,作用是:返回"環境變數控制碼"在"ID控制碼字串"中第一次出現的位置。沒出現就是位置=0 // 如果位置=0 證明這個視窗當前沒有綁定,預防沒綁定就解綁 TracePrint 位置 TracePrint ID控制碼字串 If 位置> 0 Then 陣列= Split(ID控制碼字串, 滑鼠指向的控制碼) ID = 陣列(1) 陣列2 = Split(ID, "|") ID2 = 陣列2(1) // TracePrint ID2 StopThread ID2 // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // 下麵是把停止的線程的ID和控制碼,從ID控制碼字串去掉 TracePrint ID控制碼字串 刪除陣列= Split(ID控制碼字串, 滑鼠指向的控制碼) 左邊= 刪除陣列(0) ID3= ID2+"|" 刪除陣列2 = Split(ID控制碼字串, ID3) 右邊= 刪除陣列2(1) ID控制碼字串= 左邊+ 右邊 TracePrint ID控制碼字串 // // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

大漠插件系统

命令名称:dmBeep 命令功能:蜂鸣器. f 整形数: 频率duration 整形数: 时长(ms). 整形数: 0 : 失败 1 : 成功 命令名称:CheckFontSmooth 命令功能:检测当前系统是否有开启屏幕字体平滑.<收费功能> 整形数: 0 : 系统没开启平滑字体. 1 : 系统有开启平滑字体. if Plugin.dm.CheckFontSmooth () = 1 then TracePrint "当前系统有开启平滑字体" end if 命令名称:CheckUAC 命令功能:检测当前系统是否有开启UAC(用户账户控制). 整形数: 0 : 没开启UAC 1 : 开启了UAC if Plugin.dm.CheckUAC() = 1 then TracePrint "当前系统开启了用户账户控制"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 then if Plugin.dm.DisableFontSmooth() = 1 then MessageBox "关闭了当前系统平滑字体,重启生效" Plugin.dm.ExitOs 2 Delay 2000 EndScript Plugin.dm.dmBeep 1000,1000 mis整形数: 毫秒数. 脚本例子:命令参数:返回值:脚本例子:返回值:脚本例子:命令参数:返回值:脚本例子:返回值:脚本例子:返回值:

大漠脚本调用

PutAttachment "E:\脚本编辑工具\大漠2.1142" ,"*.*" PutAttachment ".\Plugin" ,"RegDll.dll" Call Plugin.RegDll.Reg("E:\脚本编辑工具\大漠2.1142\dm.dll") set dm = createobject("dm.dmsoft") ver = dm.Ver() If len(ver) = 0 Then MessageBox "创建对象失败,检查系统是否禁用了vbs脚本权限" EndScript End If dm.SetPath "E:\脚本编辑工具\大漠2.1142" hwnd = dm.GetMousePointWindow() Delay 200 dm_ret = dm.BindWindow(hwnd, "normal", "windows", "windows", 0) Delay 20 BeginThread 线程三 BeginThread 线程五 BeginThread 线程六 BeginThread 线程七 Rem bx dm_ret = dm.FindPic(342,29,431,75, "renxingguai.bmp", "000000", 0.9, 0, X, Y) If X >= 0 Then dm.keypress 49 End If Goto bx Sub 线程三 Set dm = createobject("dm.dmsoft") Rem st x = WaitClick If x = 32781 Then //鼠标中键下滚 dm.keypress 84 //按下T上马 Delay 3000 End If delay 100 Goto st End Sub

第二章 大漠插件的介绍和调用

一大漠插件的介绍 大漠插件压缩包 第一个就是大漠插件了。我调用的大漠功能都是通过调用它里面的函数实现的。 第二个是注册dll用的组件,按键精灵通过这个组件自动注册大漠插件到系统。 第三个也是最重要的大漠插件各个函数的说明文档,学会和看懂他,你就可以做出各种功能的脚本了。不要看不起脚本,如果用VC调用

大漠的话,那就不叫脚本了,叫程序。虽说功能还是鼠标键盘模拟。第四个也很重要,以后很多调试,图文识别都要用这个工具。 第五个就是一个bat的手动把大漠注册到系统的文件。在win7下的话,右键选择管理员权限运行。 目前使用的这个大漠插件的版本为免费的 v3.1233版。 二大漠插件在按键精灵中的调用 先来看看,如果在按键精灵(以后简称按键里调用。 首先要了解,大体的工作流程。 开始先创建一个大漠对象,接下来就可以调用这个对象的各个函数了。 但是实际上在创建大漠对象前还要先判断系统有没有注册大漠插件。没有注册的话是无法创建大漠对象的。 咱们今天暂时先不管这些。先手动注册-----也就是运行刚才那个注册大漠插件到系统。 三大漠插件调用实例 接下来先创建一个按键精灵脚本,并切换到源代码模式。(不会的请参见上一章的教程)

按Ctrl+S是快速保存,如果有错误下面脚本信息栏会有提示。 当然这个提示并不一定准确,有时因为其他行的错误,导致报错在这行,也是有可能的,因此要仔细,一个逗号,一个括号都有可能出错。

点击顶部的调试按钮 出现这个提示 是保存

进入调试模式后,左下角会有这个调试界面 按F10或者鼠标直接点击都可以。 运行结果 这就是把当前使用的大漠插件的版本号用弹窗展示出来了。这种弹窗也可以用于调试信息的查看。 好了,今天就先到这里。 下一章,我们会介绍按键的后台操作和窗口的绑定。

易语言调用大漠

还有一小时下班,没事做,教童鞋们在易裡用大漠插件,嘿嘿,好多童鞋都不会怎么用,回答也累啊,没办法,普及一下咯,看图! 第一步,下载大漠,必须的! 第二步,注册DLL文件,必须的,很多种方法! 这是大漠自带的,很好用,注册的时候一定要dm.dll, regdll.dll, 注册大漠插件到系统.bat ,这三个文件一定要在同一个目录下,很多童鞋就知道,以为只有注册大漠插件到系统.bat 点击就行了,好用的插件也有让人蛋疼的地方,要留意! 用regsvr32来注册,开始菜单,运行! Regsvr32是命令,后面的是你的DLL的文件路径,这个路径里一定要有这个DLL文件,不然当然是不行滴咯! 重点来了,打开易语言点工具菜单的类型库或OCX组件-支持库,打开就懂了,0.0

在弹出的对话框中选注册类型库 找到dm.dll然后打开,会有个提示

好咧,到这里易语言还是没有大漠支持库了,往下看 找到Dm 版本1.0,然后单击下一步

其实这是易官方的一个只有几分钟的教程,很多同学就是不愿意去看,哎,伸手党太多了! 点击保存为NPK文件 ,再将NPK文件放到易程序目录的LIB文件夹里,然后配置支持库! 如果要汉化,那你就一个一个函数的汉化呸,当然,很累的,但为了童鞋们,我也是汉化了一个啊,看我论坛的帖子咯 支持库有了哈哈,问题又来了,很多童鞋就说了,这个怎么用啊,很明显是易的基础都没打好的童鞋,郁闷!

创建一个窗口程序,插入一个变量,这个变量的数据类型我们打上大漠插件,注意,这裡是你保存NPK 文件的时候写的是啥就是啥,不一定是大漠插件这个数据类型的,我写的是大漠插件,所以数据类型也是大漠插件! 看下图这里,懂点易的就飘过吧,这里是普及教程! 好了,这下可以用了,参数自己看大漠接口说明填就是了! 总结了一下,要注意的有以下几点! 不是所有的函数易都可以调用,比如 某些函数易是用不了的,大漠接口说明说得很清楚,这个要注意! 还是有些问题,,,为啥在我的电脑上能用,发给别人用不了我写的软件呢?,简单解决办法如下:

大漠插件后台找图

磨了一下午终于找图成功了。本人使用按键精灵。 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~ 第二步:创建一个文件夹,以c:\test 为例。把你要找的图(1.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。 第三步:打开按键精灵,创建一个新脚本。往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图1.bmp 第四步:脚本中加入如下语句 PutAttachment "c:\test", "*.*" //意思是释放所有附件到c:\test目录。就是把有用的文件打包到test目录下 PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册 Call Plugin.RegDll.Reg("c:\test\dm.dll") //这句忘了啥意思了,应该是呼唤大漠插件到按键精灵里来吧~ Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dm dm_ret = dm.SetPath("c:\test") // 设置全局路径,以后你找图用的图片都默认是test 目录里的图片了,否则你要用绝对路径c:\test\1.bmp来该表示图片 dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片 Hwnd = dm.GetMousePointWindow() // 用大漠软件获得鼠标指向窗口的句柄,保存在Hwnd 里 Call Plugin.Window.Move(Hwnd, 0, 0) // 这句没搞懂。不知道有哦没有用 dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口 //下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧 Delay 10 If dm_ret = 1 Then Else MessageBox "绑定失败,重启脚本或联系作者" EndScript End If dm_ret = dm.FindPic(0,0,2000,2000,"1.bmp","000000",0.9,0,X,Y) // 后台查找图片。坐标、图片地址、色差、相似度、查找顺序、返坐标 If X >0 and Y >0 Then MessageBox X&","&Y Else MessageBox "没找到" End If //***************************************************************// 新手常遇到的困难总的来说有三点: 1、注册插件失败,检查一下前面三步 2、绑定窗口,貌似说明书里都找不到这条句子,都从网上搜来的 3、注册和绑定都成功了,图片路径也对,找不到图。看看你图有没

注册大漠的方法

// 首先打包dm.dll和RegDll.dll到附件,当然如果你还有其它资源(字库,图片等)也可以一并打包 // 这个need_ver作为本脚本需要使用的插件版本. 如果要换插件时,记得更改这个值. need_ver = "3.1254" // 插件需要用到atl系统库,有些XP精简系统会把atl.dll精简掉. 为了防止注册失败,这里手动注册一下atl.dll set 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 // 先释放先前创建的dm set dm = nothing // 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误. set ws=createobject("Wscript.Shell") ws.run "regsvr32 c:\test_game\dm.dll /s" set ws=nothing Delay 1500 // 再判断插件是否注册成功 set dm = createobject("dm.dmsoft") ver = dm.Ver() if ver <> need_ver then // 这时,已经确认插件注册失败了。弹出一些调试信息,以供分析. messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath() messagebox "请关闭程序,重新打开本程序再尝试" endscript end if

按键精灵游戏脚本开发教程:自动逛地图打怪

按键精灵游戏脚本开发教程:自动逛地图打怪 来源:按键学院【按键精灵】 学院实战班目前在教授的是回合制游戏《神武》的脚本功能 小编凑热闹,也跟着去玩了玩 今天在这里和大家分享下,自动战斗功能的脚本编写流程~ 流程 1、打开地图(快捷键Tab) 2、随机点击地图上的坐标点 3、如果遇到怪物则打怪(自动打怪快捷键Ctrl+A) 技术难点: 1、随机移动过程中,如何判断人物是否已经移动到了指定坐标点。 2、随机点击一组坐标的实用写法。 绑定游戏窗口 今天我们要写的脚本有使用到大漠插件。

因为是多开脚本,所以查找句柄使用的是Search命令 后台绑定模式: 图色模式:dx3 鼠标模式:dx 键盘模式:dx 关于Search命令的详细说明以及大漠绑定模式如何获知 请参阅相关院刊: 【院刊】-【201501期】沙盘后台绑定游戏 打开地图 《神武》游戏支持点击大地图进行移动的方式。打开地图的快捷键为Tab键。 为了避免地图已经打开的情况 我们要先判断地图有没有打开,没有打开的话才去按Tab键打开地图 这里要注意一点 那就是,地图没打开的情况下有两种情况 1、没进入战斗画面 2、进入了战斗画面

所以,打开地图的判断步骤如下 1、地图没打开——>在不在战斗画面? 在战斗画面——>开始战斗 不在战斗画面——>打开地图——>随机点击地图上的坐标点 2、地图打开了——>人物在不在移动? 在移动(说明还没到目的坐标)——> 不做任何操作 不在移动(说明到了目的坐标或者遇到了阻碍物停止了移动)——> 点击下一个随机坐标 本例子中,是通过找图方式来判断地图窗口是否出现

小编找的是红框框里的图片 蓝色框的区域里,经常会出现系统的横条提示信息,会遮挡住地图框影响找图,所以不取那个区域里的图片 随机点击地图上的坐标点 在QUI上画一个文本输入框 输入框里的内容为要移动的坐标信息 坐标与坐标之间用| 隔开 随后在脚本中,我们读取文本输入框的内容 读取之后用分割函数split依据 | 分隔符将其分割 Split函数分割之后,会将分割的内容存放在数组里 这里注意下 通过第一次分割,假如数组(0) 存放的是:28,29

相关主题
文本预览
相关文档 最新文档