大漠插件如何注册?

点击这个bat文件即可,

若是成功的话会显示

大漠插件为什么一直注册不成功?

1.大漠插件不支持64位,autohotkey应该使用32位的

2.注意应该将ahk文件和大漠的dm.dll文件放到同一个文件夹下面才可以。

如何用程序验证大漠插件是否注册成功?

#SingleInstance force            ;;执行程序前先关闭程序dm:=ComObjCreate("dm.dmsoft") ;此处:=表示表达式返回值赋值给变量dm
ver := dm.ver() ;调用大漠的插件版本查询函数,只会出现两种情况返回值为空及返回值为版本号。if (ver) ;如果版本号存在
MsgBox,,,注册成功!版本号为%ver%,1
else
MsgBox,,,注册失败!`n请检查ahk版本及大漠是否已注册到系统`n请参考大漠接口说明-常见问题-创建对象失败怎么办,4

大漠插件控制鼠标移动一定位置?

以下程序均建立在大漠插件已经正常安装好了的前提下

#k::     ;;
dm.MoveR(100,100)
Return

得到当前鼠标所在的位置

!k::     ;;
x:=ComVar()
y:=ComVar()
dm.GetCursorPos(x.ref,y.ref)
x :=x[]
y :=y[]
msgbox,%x% ,%y%
Return  

控制鼠标移动到特定的坐标处

dm.MoveTo(100,100)

获取鼠标输在的窗口句柄

#a::
Hwnd:=dm.getmousepointwindow() ;获取鼠标所在的窗口句柄
msgbox, , , %Hwnd%,1
return 

初始化配置

a:=dm.SetPath("") ;设置路径,若为空的话是设置为当前路径
b:= dm.SetDict(0,"zk.txt")  ;设置字库文件

通过窗口类名和窗口标题获得句柄

#s::
hwnd_1 := dm.FindWindow("Notepad","无标题 - 记事本") ;获得顶层窗口的句柄,第一个参数为窗口类名,第二个为窗口标题
msgbox, , ,顶级句柄为`:%Hwnd_1%,1hwnd_2 :=dm.FindWindowex(hwnd_1,"Edit","")        ;获得次级窗口的句柄,第一个参数为父级句柄,第二个为窗口类名,第三个为窗口标题
msgbox, , ,次级句柄为`:%Hwnd_2%,1
return 

如何绑定窗口

state := dm.bindwindow(hwnd,"normal","normal","normal",0)  ;绑定窗口
if state = 1MsgBox,,,绑定成功!,0.5

第一个参数为:指定的窗口句柄。

第一个参数为:屏幕颜色获取方式。

第一个参数为:鼠标仿真模式。

第一个参数为:键盘仿真模式。

第一个参数为:大漠窗口的绑定模式。

如何解绑窗口

dm.Unbindwindow

如何截图

若是设置了大漠的工作路径的话,就会将截图放到对应的工具文件夹,若是没有设置的话,则会放到当前路径下。

dm_ret := dm.Capture(0,0,2000,2000,"screen.bmp")

Capture(x1, y1, x2, y2, file)

x1 整形数:区域的左上X坐标
y1 整形数:区域的左上Y坐标
x2 整形数:区域的右下X坐标
y2 整形数:区域的右下Y坐标
file 字符串:保存的文件名,保存的地方一般为SetPath中设置的目录

当然这里也可以指定全路径名。

用鼠标拖动截图

如何找图片

long FindPic(x1, y1, x2, y2, pic_name, delta_color,sim, dir,intX, intY)
state := dm.FindPic(0,0,2000,2000,"0.bmp|1.bmp|2.bmp","050505",0.5,0,x,y)

pic_name: 字符串:图片名,可以是多个图片,比如"0.bmp|1.bmp|2.bmp"

delta_color:颜色色差为"203040"表示RGB的色偏分别为 20 30 40(这里是16进制表示)

sim:相似度,取值范围是0.1-1.0

dir:查找方向,0:从左到右,从上到下,1:从左到右,从下到上,2:从右到左,从上到下3:从右到左,从下到上

IntX:变参指针,返回图片左上角的X坐标

IntY:变参指针,返回图片左上角的Y坐标

返回值为找到的图片的序号,从0开始索引,如果没找到返回-1.也就是说,只要返回值不为-1,就一定是匹配上了。

不过上面的这段代码在易语言下面可以运行,但是autohotkey下面是不可以运行成功的。

得加一个函数。

ComVar(Type=0xC)
{static base := { __Get: "ComVarGet", __Set: "ComVarSet", __Delete: "ComVarDel" }; 创建含 1 个 VARIANT 类型变量的数组.  此方法可以让内部代码处理; 在 VARIANT 和 AutoHotkey 内部类型之间的所有转换.arr := ComObjArray(Type, 1); 锁定数组并检索到 VARIANT 的指针.DllCall("oleaut32\SafeArrayAccessData", "ptr", ComObjValue(arr), "ptr*", arr_data); 保存可用于传递 VARIANT ByRef 的数组和对象.return { ref: ComObjParameter(0x4000|Type, arr_data), _: arr, base: base }
}
ComVarGet(cv, p*) { ; 当脚本访问未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]return cv._[0]
}
ComVarSet(cv, v, p*) { ; 当脚本设置未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]:=vreturn cv._[0] := v
}
ComVarDel(cv) { ; 当对象被释放时调用.; 必须进行这样的处理以释放内部数组.DllCall("oleaut32\SafeArrayUnaccessData", "ptr", ComObjValue(cv._))
}#z::       ;;
x:=ComVar()
y:=ComVar();用大漠插件 查找指定区域内的图片 位图必须是24位色BMP格式
state := dm.FindPic(0,0,2000,2000,"0.bmp|1.bmp|2.bmp","000000",0.3,0,X.ref,Y.ref)msgbox,, ,先找到的图片为`:%state%,0.5
msgbox, % "图片位于:" X[] "," Y[]
dm.moveto(x[],y[])Return  

如何找色

和找图的方式是一样的


ComVar(Type=0xC)
{static base := { __Get: "ComVarGet", __Set: "ComVarSet", __Delete: "ComVarDel" }; 创建含 1 个 VARIANT 类型变量的数组.  此方法可以让内部代码处理; 在 VARIANT 和 AutoHotkey 内部类型之间的所有转换.arr := ComObjArray(Type, 1); 锁定数组并检索到 VARIANT 的指针.DllCall("oleaut32\SafeArrayAccessData", "ptr", ComObjValue(arr), "ptr*", arr_data); 保存可用于传递 VARIANT ByRef 的数组和对象.return { ref: ComObjParameter(0x4000|Type, arr_data), _: arr, base: base }
}
ComVarGet(cv, p*) { ; 当脚本访问未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]return cv._[0]
}
ComVarSet(cv, v, p*) { ; 当脚本设置未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]:=vreturn cv._[0] := v
}
ComVarDel(cv) { ; 当对象被释放时调用.; 必须进行这样的处理以释放内部数组.DllCall("oleaut32\SafeArrayUnaccessData", "ptr", ComObjValue(cv._))
}#q::       ;;
x:=ComVar()
y:=ComVar()
state :=dm.FindColor(0,0,2000,2000,"df3f68-050505",0.9,0,x.ref,y.ref)
msgbox,, ,找到的颜色状态为`:%state%,0.5
msgbox, % "颜色位于:" x[] "," y[]
dm.moveto(x[],y[])Return 

如何找字

ComVar(Type=0xC)
{static base := { __Get: "ComVarGet", __Set: "ComVarSet", __Delete: "ComVarDel" }; 创建含 1 个 VARIANT 类型变量的数组.  此方法可以让内部代码处理; 在 VARIANT 和 AutoHotkey 内部类型之间的所有转换.arr := ComObjArray(Type, 1); 锁定数组并检索到 VARIANT 的指针.DllCall("oleaut32\SafeArrayAccessData", "ptr", ComObjValue(arr), "ptr*", arr_data); 保存可用于传递 VARIANT ByRef 的数组和对象.return { ref: ComObjParameter(0x4000|Type, arr_data), _: arr, base: base }
}
ComVarGet(cv, p*) { ; 当脚本访问未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]return cv._[0]
}
ComVarSet(cv, v, p*) { ; 当脚本设置未知字段时调用.if p.MaxIndex() = "" ; 没有名称/参数, 即 cv[]:=vreturn cv._[0] := v
}
ComVarDel(cv) { ; 当对象被释放时调用.; 必须进行这样的处理以释放内部数组.DllCall("oleaut32\SafeArrayUnaccessData", "ptr", ComObjValue(cv._))
}#w::       ;;找字
x:=ComVar()
y:=ComVar()
state := dm.FindStr(0,0,2000,2000,"易语言","ffffff-05050",0.9,x.ref,y.ref)
msgbox,, ,找到的文字状态为`:%state%,0.5
msgbox, % "文字位于:" x[] "," y[]
dm.moveto(x[],y[])Return  

注意这个色偏移不能太大,也不能太小。太大的话是导致识别不准确,太小的话可能会因为意外情况而导致识别不到。

绑定窗口之后在一个窗口上面找字

#w::     ;;找字Hwnd:=dm.getmousepointwindow() ;获取鼠标所在的窗口句柄
msgbox,% Hwnd state := dm.bindwindow(hwnd,"normal","normal","normal",0)  ;绑定窗口
MsgBox,,,绑定成功!,0.5x:=ComVar()
y:=ComVar()
state := dm.FindStr(0,0,2000,2000,"我的主页","ffffff-000000",0.95,x.ref,y.ref)
msgbox,, ,找到的文字状态为`:%state%,0.5
msgbox, % "文字位于:" x[] "," y[]
dm.moveto(x[],y[]);~ dm.moveto(203,273)Return

百度云的enter键改为鼠标点击

enter::Hwnd:=dm.getmousepointwindow() ;获取鼠标所在的窗口句柄
state := dm.bindwindow(hwnd,"normal","normal","normal",0)  ;绑定窗口x:=ComVar()
y:=ComVar();用大漠插件 查找指定区域内的图片 位图必须是24位色BMP格式
state := dm.FindPic(0,0,2000,2000,"登录.bmp","000000",0.3,0,X.ref,Y.ref)dm.moveto(x[],y[])
dm.LeftClick()
dm.Unbindwindowreturn

autohotkey-大漠插件相关推荐

  1. Python调用大漠插件

    Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.clientdm = win32com.client.Dispatch(' ...

  2. python调用大漠找图_[教程贴]按键精灵调用大漠插件后台找图示例

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //------大漠注册------------------------------------------------------------- DMP ...

  3. python使用大漠插件进行脚本开发的尝试(一)

    关于游戏脚本是纯然的小白,记一下学习过程遇到的问题.是在win10系统下对PC端的游戏进行脚本编辑,不知道会不会半途放弃. 一.大漠插件 大漠插件在游戏脚本编辑过程中是比较常见的工具,按我理解大致做的 ...

  4. python识别文字坐标_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

  5. 大漠插件问题:解决win10win7win8系统找不到指定的模块,注册不了大漠插件的问题

    报错内容 模块"dm.dll"加载失败. 请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题.找不到指定的模块 解决方法 管理员权限:打开CM ...

  6. 大漠为什么不支持win10_大漠插件3.1233 支持WIN10的游戏后台么

    匿名用户 1级 2016-10-18 回答 大漠注册代码如下,你不懂没关系,反正按键精灵这段代码注册,是不会错的.这个注册你要注意版本号,我的大漠是3.1233,所以我后面的判断是ver <&g ...

  7. 大漠插件最新版7.2248

    工具名称:大漠插件最新版7.2248 工具简介:/ v7.2242更新时间2022年11月16日: / v7.2248 1. 优化某些模式,在绑定时,有小概率会卡死在绑定函数里的问题. 2. 解决As ...

  8. python识别文字软件_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

  9. 最新易语言调用大漠插件制作脚本入门教程

    最新易语言调用大漠插件制作脚本入门教程 这是田野学院的一套零基础视频.学习做辅助脚本入门还是不错的. https://pan.baidu.com/s/1BWd2_kIjL6OLE7q-VcDVlw 提 ...

  10. python调用大漠写辅助_Python调用大漠插件

    Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...

最新文章

  1. Error in setwd(***) : cannot change working directory
  2. 【 C 】KR C 与 ANSI C的区别(KR C,ANSI C,C89,C90,C99)(C11)
  3. 存储过程如何处理异常
  4. python序列类型-python学习—序列类型、列表、元组
  5. Sed教程(四):基本命令、特殊字符、字符串
  6. Golang之var、new与make、简短声明
  7. Link-Cut Tree指针模板
  8. JAVA入门级教学之(continue)
  9. Mysql数据库常用命令,mysql速学实用教程。
  10. Linux学习-YUM 在线升级机制
  11. 《Troubleshooting Windows 7 Inside Out》文摘-1
  12. 利用java导入导出excel到oracle数据库
  13. 11、旋转数组的最小数字
  14. [2018.05.05 T2] 互质2
  15. 2012服务器系统安装iis,Windows Server 2012 安装配置IIS教程
  16. Visual Studio爆炸! -VS2010 SP1 * BETA *已发布,上下文
  17. 深圳移动 神州行(大众卡/轻松卡/幸福卡)套餐资费(含香港日套餐)信息及使用方法...
  18. 八 Spring Security Oauth2 单点登录 第三方授权(QQ、微信登录)
  19. 报错:Vue.js not detected
  20. 单精度浮点数计算机存储的理解(IEEE 754)

热门文章

  1. 关于Dll、Com组件、托管dll和非托管dll
  2. CarPlay搭载下滑/华为HiCar目标未达成,车机互联赛道「难」
  3. Java开发工具 IntelliJ IDEA(idea使用教程,手把手教学)内容很全,一篇管够!!!
  4. 中国39所985高校省级行政区分布-web数据可视化(d3.pack包含关系图)
  5. 论单片机程序固件保护的重要性和方法
  6. android怎么用经纬度定位,android 依据经纬度定位所在城市
  7. 如果在网上匿名15分钟
  8. latex中Winedt和Sumatra PDF互联设置及失效解决
  9. linux如何安装usb转串口驱动,虚拟机下Ubuntu安装usb转串口驱动
  10. 基于QT的超市信息管理系统