javaelf意在提供更加便捷系统化的游戏脚本开发,它是在java语言的基础上封装了大漠插件,在此基础上借助java强大且广泛的生态支持,以java为主要的表现方式来完成脚本的开发,你甚至可以使用云api或者离线sdk来完成更强功能的开发!封装和文档基于大漠7.2版本,这也就意味着大部分功能是收费的,当然它向下兼容着大漠的3.1或者更低的免费版本。
javaelf无任何盈利行为,如有侵权请联系我删除。
1、 大漠插件
2、 jawin
3、 ...
https://wwa.lanzoui.com/id130nppy9g 密码: 408509165(失效联系qq) 32位jdk请自行下载
1、jdk1.8(32位). 2、windows pc平台 3、开发工具需要以管理员方式运行
2021-4-6日更新,不再需要手动添加jawin.jar和jawin.dll,只需要在Elf.init之前执行 GlobalSetting.copy_dlls(); 动态库文件会自动移动到jre运行环境下。
1.GlobalSetting.copy_dlls(); 2.Elf.init();//全局只调用一次,提供带参的方法自定义dm版本; 3.Elf elf = new Elf(); 6.System.out.println(elf.Ver()); //打印版本 7.2043
line 1: 复制dll动态库到java runtime 下,只需执行一次,多次执行不影响。 line 2: 初始化对象并全局注册dm,全局只用调用一次,即使是多线程环境下. line 3: 获取对象实例,这里需要注意,在不同线程里,需要用这个来获取新对象 当然首先你要明白自己在做什么,特别是多个游戏窗口的绑定的情况, 游戏多开每个游戏都要对应一个elf对象实例,判断对象是否相等可以用 GetId(),或者用 elf.equals();
后台 BackGround.class 键盘 KeyBoard.class 鼠标 Mouse.class 窗口 Window.class 图片 Picture.class 颜色 Color.class FooBar Foobar.class 文字识别 Ocr.class 基本设置 BasicSetting.class 系统设置 OsSetting.class 以上就是脚本类,除去Elf本身的基本方法,脚本所需且常用的方法都在上面的类里面,每个脚本类对应一个Operations类,方便反射调用.
以FindPicS为例,这个函数包含变参指针,很具有代表性。
Elf elf = new Elf(); Object[] params = new Object[]{0,0,1920,1080,"test.png","",0.9,0,0,0}; String res = elf.excute(Picture.class,PictureOperations.FindPicS,params).toString;
res 返回的是找到的图片的文件名. 没找到返回长度为0的字符串,那么如果找到了图片我们怎么获取图片所在的位置? 答案就是 params[8],params[9] → (564,325)
可能有小伙伴会觉得麻烦,不习惯上面的操作方式,那么可以使用这个方式。
Elf elf = new Elf(); Picture picture = new Picture(elf); Object[] params = new Object[]{0,0,1920,1080,"test.png","",0.9,0,0,0}; String res = picture.FindPicS(params);
该方式获取图片位置依然是params[8],params[9].
上面的指导很重要,建议好好看一下。
代码混淆是比较重要的,我们存放在jre下面的图片/字库等资源文件可以通过加密,但是jar就必须通过混淆 来进行反破解,这一步是很重要的,即便是打包成exe,在系统temp下也会有jar,会被别人拿到jar源文件, 所以必须要混淆。
首先打包成jar,然后拷贝上面提到过的jre到同一目录,新建一个bat文件, 编辑“ ./jre/java.exe -jar xxx.jar ”,双击bat运行,如果报错百度下,通常是jar包没打对。
exl4j打包,自行百度。
基本设置包含javaelf运行时一些常用设置
函数说明:
设置是否开启或者关闭插件内部的图片缓存机制. (默认是打开)
函数体:
int EnablePicCache(boolean enable)
参数列表:
参数类型 | 参数说明 |
---|---|
boolean | true:打开,false关闭 |
返回值:
返回值类型 | 说明 |
---|---|
0 | 失败 |
1 | 成功 |
参考:
Elf elf = new Elf(); int res = elf.EnablePicCache(true); logger.info("EnablePicCache :{}",res);
结果:
EnablePicCache :1
备注:
有些时候,系统内存比较吃紧,这时候再打开内部缓存,可能会导致缓存分配在虚拟内存,这样频繁换页,反而导致图色效率下降.这时候就建议关闭图色缓存.所有图色缓存机制都是对本对象的,也就是说,调用图色缓存机制的函数仅仅对本对象生效. 每个对象都有一个图色缓存队列.
函数说明:
获取注册在系统中的dm.dll的路径.
函数体:
String GetBasePath()
参数列表:
无
返回值:
返回值类型 | 说明 |
---|---|
0 | 失败 |
1 | 成功 |
参考:
Elf elf = new Elf(); String res = elf.GetBasePath(); logger.info("GetBasePath :{}",res);
结果:
GetBasePath :c:\program files (x86)\java\jdk1.8.0_131_32\jre\bin\dm7\
备注:
无
函数说明:
返回当前进程已经创建的dm对象个数.也是elf对象有效的个数
函数体:
int GetDmCount()
参数列表:
无
返回值:
返回值类型 | 说明 |
---|---|
int | 返回对象个数 |
参考:
Elf elf = new Elf(); int res = elf.GetDmCount(); logger.info("GetBasePath :{}",res);
结果:
GetDmCount :1
备注:
无
函数说明:
返回当前大漠对象的ID值,这个值对于每个对象是唯一存在的
函数体:
int GetID()
参数列表:
无
返回值:
返回值类型 | 说明 |
---|---|
int | 当前对象的ID值 |
参考:
Elf elf = new Elf(); int res = elf.GetId(); logger.info("GetId :{}",res);
结果:
GetId :375455716
备注:
多窗口绑定或多线程情况下,用来判断对象是否一致。
函数说明:
获取插件命令的最后错误
函数体:
int GetLastError()
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
0 | 无错误 |
-1 | 使用了收费功能,但是没有进行收费注册 |
-2 | 窗口绑定使用模式0 2 时出现,因为目标窗口有保护. 常见于win7以上系统.或者有安全软件拦截插件.解决办法: 关闭所有安全软件,然后再重新尝试. 如果还不行就可以肯定是目标窗口有特殊保护. |
-3 | 使用模式0 2 时出现,可能目标窗口有保护,也可能是异常错误. 可以尝试换绑定模式或许可以解决决. |
-5 | 使用模式101 103时出现, 这个错误的解决办法就是关闭目标窗口,重新打开再绑定即可. 也可能是运行脚本的进程没有管理员权限. |
-6 | 被安全软件拦截。典型的是金山.360等. 如果是360关闭即可。 如果是金山,必须卸载,关闭是没用的. |
-7 | 使用模式101 103时出现,异常错误. 还有可能是安全软件的问题,比如360等。尝试卸载360. |
-8 | 使用模式101 103时出现, 目标进程可能有保护,也可能是插件版本过老,试试新的或许可以解决. -8可以尝试使用DmGuard中的np2盾配合. |
-9 | 同 -7 |
-10 | 同 -8 |
-11 | 使用模式101 103时出现, 目标进程有保护.无法解决 |
-12 | 同 -11 |
-13 | 使用模式101 103时出现, 目标进程有保护. 或者是因为上次的绑定没有解绑导致。 尝试在绑定前调用ForceUnBindWindow. |
-14 | 可能系统缺少部分DLL,尝试安装d3d. 或者是鼠标或者键盘使用了dx.mouse.api或者dx.keypad.api,但实际系统没有插鼠标和键盘. 也有可能是图色中有dx.graphic.3d之类的,但相应的图色被占用,比如全屏D3D程序. |
-15 | |
-16 | 可能使用了绑定模式 0 和 101,然后可能指定了一个子窗口.导致不支持.可以换模式2或者103来尝试. 另外也可以考虑使用父窗口或者顶级窗口.来避免这个错误。还有可能是目标窗口没有正常解绑然后再次绑定的时候. |
-17 | 模式101 103时出现,这个是异常错误,需要大漠作者解决 |
-18 | 句柄无效 |
-19 | 同 -17 |
-20 | 使用模式101 103 时出现,说明目标进程里没有解绑,并且子绑定达到了最大. 尝试在返回这个错误时,调用ForceUnBindWindow来强制解除绑定. |
-21 | 使用模式101 103 时出现,说明目标进程里没有解绑. 尝试在返回这个错误时,调用ForceUnBindWindow来强制解除绑定. |
-22 | 使用模式0 2,绑定64位进程窗口时出现,因为安全软件拦截插件释放的EXE文件导致. |
-23 | 使用模式0 2,绑定64位进程窗口时出现,因为安全软件拦截插件释放的DLL文件导致. |
-24 | 使用模式0 2,绑定64位进程窗口时出现,因为安全软件拦截插件运行释放的EXE. |
-25 | 使用模式0 2,绑定64位进程窗口时出现,因为安全软件拦截插件运行释放的EXE. |
-26 | 使用模式0 2,绑定64位进程窗口时出现, 因为目标窗口有保护. 常见于win7以上系统.或者有安全软件拦截插件.解决办法: 关闭所有安全软件,然后再重新尝试. 如果还不行就可以肯定是目标窗口有特殊保护. |
-27 | 绑定64位进程窗口时出现,因为使用了不支持的模式,目前暂时只支持模式0 2 11 13 101 103 |
-28 | 绑定32位进程窗口时出现,因为使用了不支持的模式,目前暂时只支持模式0 2 11 13 101 103 |
-37 | 同 -11 |
-100 | 调用读写内存函数后,发现无效的窗口句柄 |
-101 | 读写内存函数失败 |
-200 | AsmCall失败 |
参考:
Elf elf = new Elf(); int res = elf.GetLastError(); logger.info("GetLastError :{}",res);
结果:
GetLastError :0 //即为正常
备注:
如果出现异常,可以用这个函数来获取错误,这里所说的异常并不全部包含java抛出、捕获的异常,在实际测试中如果触发错误-1, 即未注册使用收费功能的话,会出现"Java(TM) Platform SE binary 已停止工作"错误,这种情况下无法使用该函数获取到错误。
函数说明:
获取全局路径
函数体:
String GetPath()
参数列表:
无
返回值:
返回值类型 | 说明 |
---|---|
String | 全局路径 |
参考:
Elf elf = new Elf(); String res = elf.GetPath(); logger.info("res.length : {}",res.length()); logger.info("res == null :{}" ,res ==null); logger.info("res == \"\" :{}" ,res == ""); logger.info("GetPath :{}",res);
结果:
res.length : 0 res == null :false res == "" :false GetPath :
备注:
在未进行SetPath之前,该函数获取到的都是空值,这个空值并非null或者"",如果要进行非空判断请使用length()
函数说明:
调用此函数来注册,从而使用大漠插件的高级功能.
函数体:
int Reg(String code,String ver_info)
参数列表:
参数类型 | 说明 |
---|---|
String | 注册码,大漠收费 |
String | 长度不能超过20. 并且只能包含数字和字母以及小数点. 这个信息可以随意填写,可空,后台可以查看。 |
返回值:
返回值 | 说明 |
---|---|
-1 | 无法连接网络 |
-2 | 进程没有以管理员方式运行 |
0 | 失败且未知错误 |
1 | 成功 |
2 | 余额不足 |
3 | 绑定了本机器,但是账户余额不足50元. |
4 | 注册码错误 |
5 | 你的机器或者IP在黑名单列表中或者不在白名单列表中. |
6 | 非法使用插件. |
7 | 你的帐号因为非法使用被封禁. (如果是在虚拟机中使用插件,必须使用Reg或者RegEx,不能使用RegNoMac或者RegExNoMac,否则可能会造成封号,或者封禁机器) |
8 | ver_info不在你设置的附加白名单中. |
77 | 机器码或者IP因为非法使用,而被封禁. (如果是在虚拟机中使用插件,必须使用Reg或者RegEx,不能使用RegNoMac或者RegExNoMac,否则可能会造成封号,或者封禁机器),封禁是全局的,如果使用了别人的软件导致77,也一样会导致所有注册码均无法注册。解决办法是更换IP,更换MAC. |
-8 | 版本附加信息长度超过了20 |
-9 | 版本附加信息里包含了非法字母. |
参考:
Elf elf = new Elf(); int res = elf.Reg(MyParam.REG_CODE,"ELF"); logger.info("Reg :{}",res);
结果:
Reg :1
备注:
此函数每个进程调用一次即可,不需要每个DM对象都调用,也不需要每个线程都调用。
函数说明:
调用此函数来注册,从而使用插件的高级功能. 可以根据指定的IP列表来注册.
函数体:
int Reg(String code,String ver_info,String ip)
参数列表:
参数类型 | 说明 |
---|---|
String | 注册码,大漠收费 |
String | 长度不能超过20. 并且只能包含数字和字母以及小数点. 这个信息可以随意填写,可空,后台可以查看。 |
String | 插件注册ip地址,多个可用 | 隔开 |
返回值:
返回值 | 说明 |
---|---|
-1 | 无法连接网络 |
-2 | 进程没有以管理员方式运行 |
0 | 失败且未知错误 |
1 | 成功 |
2 | 余额不足 |
3 | 绑定了本机器,但是账户余额不足50元. |
4 | 注册码错误 |
5 | 你的机器或者IP在黑名单列表中或者不在白名单列表中. |
6 | 非法使用插件. |
7 | 你的帐号因为非法使用被封禁. (如果是在虚拟机中使用插件,必须使用Reg或者RegEx,不能使用RegNoMac或者RegExNoMac,否则可能会造成封号,或者封禁机器) |
8 | ver_info不在你设置的附加白名单中. |
77 | 机器码或者IP因为非法使用,而被封禁. (如果是在虚拟机中使用插件,必须使用Reg或者RegEx,不能使用RegNoMac或者RegExNoMac,否则可能会造成封号,或者封禁机器),封禁是全局的,如果使用了别人的软件导致77,也一样会导致所有注册码均无法注册。解决办法是更换IP,更换MAC. |
-8 | 版本附加信息长度超过了20 |
-9 | 版本附加信息里包含了非法字母. |
参考:
Elf elf = new Elf(); int res = elf.RegEx(MyParam.REG_CODE,"ELF","58.218.207.207|58.218.204.170|221.229.162.171|221.229.162.40"); logger.info("RegEx :{}",res);
结果:
RegEx :1
备注:
此函数每个进程调用一次即可,不需要每个DM对象都调用,也不需要每个线程都调用。 ip可选(电信):58.218.207.207|58.218.204.170|221.229.162.171|221.229.162.40 ip可选(联通):122.192.218.205|122.192.218.111|122.192.218.58|122.192.218.40
函数说明:
调用此函数来注册,从而使用插件的高级功能. 可以根据指定的IP列表来注册.与RegEx类似,只是注册不带mac地址
函数体:
int RegExNoMac()
函数说明:
调用此函数来注册,从而使用插件的高级功能.与Reg类似,只是注册不带mac地址
函数体:
int RegNoMac()
函数说明:
设定图色的获取方式,默认是显示器或者后台窗口(具体参考BindWindow)
函数体:
int SetDisplayInput(String mode)
参数列表:
参数类型 | 说明 |
---|---|
String | "screen":这个是默认的模式,表示使用显示器或者后台窗口. "pic:file":指定输入模式为指定的图片,如果使用了这个模式,则所有和图色相关的函数均视为对此图片进行处理,比如文字识别查找图片 颜色 等等一切图色函数.需要注意的是,设定以后,此图片就已经加入了缓冲,如果更改了源图片内容,那么需要释放此缓冲,重新设置. "mem:addr,size" :指定输入模式为指定的图片,此图片在内存当中. addr为图像内存地址,size为图像内存大小.如果使用了这个模式,则所有和图色相关的函数,均视为对此图片进行处理.比如文字识别 查找图片 颜色 等等一切图色函数. |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功,1:失败 |
参考:
Elf elf = new Elf(); int res = elf.SetDisplayInput("screen"); logger.info("SetDisplayInput :{}",res);
结果:
SetDisplayInput : 1
备注:
大部分情况下默认就行
函数说明:
设置EnumWindow,EnumWindowByProcess,EnumWindowSuper,FindWindow以及FindWindowEx的最长延时,内部默认超时是10秒.
函数体:
int SetEnumWindowDelay(int delay)
参数列表:
参数类型 | 说明 |
---|---|
int | 超时毫秒数 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功,1:失败 |
参考:
Elf elf = new Elf(); int res = elf.SetEnumWindowDelay(1000); logger.info("SetEnumWindowDelay :{}",res);
结果:
SetEnumWindowDelay :1
备注:
有些时候,窗口过多,并且窗口结构过于复杂,可能枚举的时间过长. 那么需要调用这个函数来延长时间。避免漏掉窗口.
函数说明:
设置全局路径,设置了此路径后,所有接口调用中,相关的文件都相对于此路径. 比如图片,字库等。
函数体:
int SetPath(String path)
参数列表:
参数类型 | 说明 |
---|---|
String | 可以是相对路径,也可以是绝对路径 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功,1:失败 |
参考:
Elf elf = new Elf(); String imagesPath = System.getProperty("java.home")+"/bin/image"; int res = elf.SetPath(new File(imagesPath).getCanonicalPath()); logger.info("SetPath :{}",res); String resPath = elf.GetPath(); logger.info("GetPath :{}",resPath);
结果:
SetPath :1 GetPath :C:\Program Files (x86)\Java\jdk1.8.0_131_32\jre\bin\image\
备注:
注意,SetPath个GetPath均针对当前对象,你可以把这个对象理解为dm对象,也可以理解为elf对象,他只对当前对象生效。
函数说明:
设置是否弹出错误信息,默认是打开.
函数体:
int SetShowErrorMsg(boolean show)
参数列表:
参数类型 | 说明 |
---|---|
boolean | true:打开,false:关闭 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功,1:失败 |
参考:
Elf elf = new Elf(); int res = elf.SetShowErrorMsg(false); logger.info("SetShowErrorMsg :{}",res);
结果:
SetShowErrorMsg :1
备注:
弹出的错误消息提示在开发时可以帮助我们定位错误,生产环境下建议打开。
函数说明:
设置是否对前台图色进行加速. (默认是关闭). (对于不绑定,或者绑定图色为normal生效)( 仅对WIN8以上系统有效)
函数体:
int SpeedNormalGraphic(boolean enable)
参数列表:
参数类型 | 说明 |
---|---|
boolean | true:打开,false:关闭 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功,1:失败 |
参考:
Elf elf = new Elf(); elf.Reg(MyParam.REG_CODE,"ELF");//收费函数 int res = elf.SpeedNormalGraphic(false); logger.info("SpeedNormalGraphic :{}",res);
结果:
SpeedNormalGraphic :1
备注:
WIN8以上系统,由于AERO的开启,导致前台图色速度很慢,使用此接口可以显著提速. WIN7系统无法使用,只能通过关闭aero来对前台图色提速. 每个进程,最多只能有一个对象开启此加速接口,如果要用开启别的对象的加速,那么要先关闭之前开启的. 开启此接口后,仅能对主显示器的屏幕进行截图,分屏的显示器上的内容无法截图 开启此接口后,程序CPU会有一定上升,因为这个方法是以牺牲CPU性能来提升速度的.
函数说明:
返回当前插件版本号
函数体:
String Ver()
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 插件的版本描述字符串 |
参考:
Elf elf = new Elf(); String res = elf.Ver(); logger.info("Ver :{}",res);
结果:
Ver :7.2104
备注:
无
函数说明:
绑定指定的窗口。
函数体:
int BindWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | String | 屏幕颜色获取方式,取值如下 "normal": 正常模式,平常我们用的前台截屏模式。 "gdi": gdi模式,用于窗口采用GDI方式刷新时此模式占用CPU较大. 参考SetAero win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。 "gdi2": gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式. "dx2": dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口所在进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7 win8或者vista不需要移动也可后台.此模式占用CPU较大. 参考SetAero,win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。 "dx3": dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多。 "dx": dx模式,等同于BindWindowEx中,display设置的"dx.graphic.2d|dx.graphic.3d",具体参考BindWindowEx。 |
params[2] | String | 鼠标仿真模式,取值如下 "normal": 正常模式,平常我们用的前台鼠标模式。 "windows": Windows模式,采取模拟windows消息方式。 "windows2": Windows2 模式,采取模拟windows消息方式(锁定鼠标位置)。 "windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台。 "dx": dx模式,采用模拟dx后台鼠标模式,这种方式会锁定鼠标输入.有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况。 "dx2": dx2模式,这种方式类似于dx模式,但是不会锁定外部鼠标输入,有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后手动激活),否则可能会出现绑定后鼠标无效的情况。 |
params[3] | String | 键盘仿真模式,取值如下 "normal": 正常模式,平常我们用的前台键盘模式。 "windows": Windows模式,采取模拟windows消息方式。 "dx": dx模式,采用模拟dx后台键盘模式。有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后键盘无效的情况。 |
params[4] | int | 模式,取值如下 "0": 推荐模式此模式比较通用,而且后台效果是最好的。 "2": 同模式0,如果模式0有崩溃问题,可以尝试此模式。 "101": 超级绑定模式. 可隐藏目标进程中的dm.dll.避免被恶意检测。 "103": 同模式101,如果模式101有崩溃问题,可以尝试此模式。 "11": 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统。 "13": 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统。 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
Elf elf = new Elf(); elf.Reg(MyParam.REG_CODE,"ELF");//收费函数 Object[] params = new Object[]{"","h.txt"};//我本地打开的一个记事本文件h.txt int hwnd = Integer.parseInt(elf.execute(Window.class,WindowOperations.FindWindow,params)toString()); logger.info("获取到句柄: {},执行绑定.",hwnd); params = new Object[]{hwnd,"normal","windows","windows",0}; int res = Integer.parseInt(elf.execute(Background.class,BackgroundOperations.BindWindowparams).toString()); logger.info("BindWindow :{}",res);
结果:
获取到句柄: 9177636,执行绑定. BindWindow :1
备注:
模式101 103在大部分窗口下绑定都没问题。但也有少数特殊的窗口,比如有很多子窗口的窗口, 对于这种窗口,在绑定时,一定要把鼠标指向一个可以输入文字的窗口,比如一个文本框, 最好能激活这个文本框,这样可以保证绑定的成功,如果返回值是0,可以用GetLastError获取信息。
函数说明:
绑定指定的窗口,可以自定义更多详细模式。
函数体:
int BindWindowEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | String | 屏幕颜色获取方式,取值如下 "normal": 正常模式,平常我们用的前台截屏模式。 "gdi": gdi模式,用于窗口采用GDI方式刷新时此模式占用CPU较大. 参考SetAero win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。 "gdi2": gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式. "dx2": dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口所在进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7 win8或者vista不需要移动也可后台.此模式占用CPU较大. 参考SetAero,win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。 "dx3": dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多。 "dx": dx模式,用于窗口采用dx模式刷新,取值可以是以下任意组合,组合采用"|"符号进行连接 "dx.graphic.2d": 2d窗口的dx图色模式 "dx.graphic.2d.2": 是dx.graphic.2d的增强模式.兼容性更好 "dx.graphic.3d": 3d窗口的dx图色模式 "dx.graphic.3d.8": 3d窗口的dx8图色模式,此模式对64位进程无效 "dx.graphic.opengl": 3d窗口的opengl图色模式,极少数窗口采用opengl引擎刷新,此图色模式速度可能较慢 "dx.graphic.opengl.esv2": 3d窗口的opengl_esv2图色模式,此图色模式速度可能较慢 "dx.graphic.3d.10plus": 3d窗口的dx10 dx11图色模式 |
params[2] | String | 鼠标仿真模式,取值如下 "normal": 正常模式,平常我们用的前台鼠标模式。 "windows": Windows模式,采取模拟windows消息方式。 "windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台。 "dx": 取值可以是以下任意组合,组合采用"|"符号进行连接 "dx.mouse.position.lock.api": 此模式表示通过封锁系统API,来锁定鼠标位置 "dx.mouse.position.lock.message": 此模式表示通过封锁系统消息,来锁定鼠标位置 "dx.mouse.focus.input.api": 此模式表示通过封锁系统API来锁定鼠标输入焦点 "dx.mouse.focus.input.message": 此模式表示通过封锁系统消息来锁定鼠标输入焦点 "dx.mouse.clip.lock.api": 此模式表示通过封锁系统API来锁定刷新区域。注意,使用这个模式,在绑定前,必须要让窗口完全显示出来. "dx.mouse.input.lock.api": 此模式表示通过封锁系统API来锁定鼠标输入接口 "dx.mouse.state.api": 此模式表示通过封锁系统API来锁定鼠标输入状态 "dx.mouse.state.message": 此模式表示通过封锁系统消息来锁定鼠标输入状态 "dx.mouse.api": 此模式表示通过封锁系统API来模拟dx鼠标输入 "dx.mouse.cursor": 开启此模式,可以后台获取鼠标特征码 "dx.mouse.raw.input": 有些窗口需要这个才可以正常操作鼠标 "dx.mouse.input.lock.api2": 部分窗口在后台操作时,前台鼠标会移动,需要这个属性 "dx.mouse.input.lock.api3": 部分窗口在后台操作时,前台鼠标会移动,需要这个属性 |
params[3] | String | 键盘仿真模式,取值如下 "normal": 正常模式,平常我们用的前台键盘模式。 "windows": Windows模式,采取模拟windows消息方式。 "dx": 取值可以是以下任意组合,组合采用"|"符号进行连接 "dx.keypad.input.lock.api": 此模式表示通过封锁系统API来锁定键盘输入接口 "dx.keypad.state.api": 此模式表示通过封锁系统API来锁定键盘输入状态 "dx.keypad.api": 此模式表示通过封锁系统API来模拟dx键盘输入 "dx.keypad.raw.input": 有些窗口需要这个才可以正常操作键盘 |
params[4] | String | 公共属性 dx模式共有,取值可以是以下任意组合,组合采用"|"符号进行连接 "dx.public.active.api": 此模式表示通过封锁系统API来锁定窗口激活状态(注意耗费资源) "dx.public.active.message": 此模式表示通过封锁系统消息来锁定窗口激活状态(注意耗费资源),必须在绑定前,让绑定窗口处于激活状态 "dx.public.disable.window.position": 此模式将锁定绑定窗口位置.不可与"dx.public.fake.window.min"共用 "dx.public.disable.window.size": 此模式将锁定绑定窗口,禁止改变大小. 不可与"dx.public.fake.window.min"共用 "dx.public.disable.window.minmax": 此模式将禁止窗口最大化和最小化,但是付出的代价是窗口同时也会被置顶. 不可与"dx.public.fake.window.min"共用. "dx.public.fake.window.min": 此模式将允许目标窗口在最小化状态时,仍然能够像非最小化一样操作.. 另注意,此模式会导致任务栏顺序重排,所以如果是多开模式下,会看起来比较混乱,建议单开使用,多开不建议使用. 同时此模式不是万能的,有些情况下最小化以后图色会不刷新或者黑屏 "dx.public.hide.dll": 此模式将会隐藏目标进程的大漠插件,避免被检测..另外使用此模式前,请仔细做过测试,此模式可能会造成目标进程不稳定,出现崩溃。 "dx.public.active.api2": 此模式表示通过封锁系统API来锁定窗口激活状态. 部分窗口遮挡无法后台,需要这个属性 "dx.public.input.ime": 此模式是配合SendStringIme使用. 具体可以查看SendStringIme接口. "dx.public.graphic.protect": 此模式可以保护dx图色不被恶意检测.同时对dx.keypad.api和dx.mouse.api也有保护效果 "dx.public.disable.window.show": 禁止目标窗口显示,这个一般用来配合dx.public.fake.window.min来使用 "dx.public.anti.api": 此模式可以突破部分窗口对后台的保护 "dx.public.km.protect": 此模式可以保护dx键鼠不被恶意检测.最好配合dx.public.anti.api一起使用. 此属性可能会导致部分后台功能失效 "dx.public.prevent.block": 绑定模式1 3 5 7 101 103下,可能会导致部分窗口卡死. 这个属性可以避免卡死 "dx.public.ori.proc": 此属性只能用在模式0 1 2 3和101下. 有些窗口在不同的界面下(比如登录界面和登录进以后的界面),键鼠的控制效果不相同. 那可以用这个属性来尝试让保持一致. 注意的是,这个属性不可以滥用,确保测试无问题才可以使用. 否则可能会导致后台失效. "dx.public.down.cpu": 此模式可以配合DownCpu来降低目标进程CPU占用. 当图色方式降低CPU无效时,可以尝试此种方式. 需要注意的是,当使用此方式降低CPU时,会让图色方式降低CPU失效 "dx.public.focus.message": 当后台绑定后,后台无法正常在焦点窗口输入文字时,可以尝试加入此属性. 此属性会强制键盘消息发送到焦点窗口. 慎用此模式,此模式有可能会导致后台键盘在某些情况下失灵. "dx.public.graphic.speed": 只针对图色中的dx模式有效.此模式会牺牲目标窗口的性能,来提高DX图色速度,尤其是目标窗口刷新很慢时,这个参数就很有用了. "dx.public.memory": 让本对象突破目标进程防护,可以正常使用内存接口. 当用此方式使用内存接口时,内存接口的速度会取决于目标窗口的刷新率 "dx.public.inject.super": 突破某些难以绑定的窗口. 此属性仅对除了模式0和2的其他模式有效. "dx.public.hack.speed": 类似变速齿轮,配合接口HackSpeed使用 |
params[5] | int | 模式,取值如下 "0": 推荐模式此模式比较通用,而且后台效果是最好的。 "2": 同模式0,如果模式0有崩溃问题,可以尝试此模式。 "101": 超级绑定模式. 可隐藏目标进程中的dm.dll.避免被恶意检测。 "103": 同模式101,如果模式101有崩溃问题,可以尝试此模式。 "11": 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统。 "13": 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统。 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无,参考BindWindow
结果:
无
备注:
模式101 103在大部分窗口下绑定都没问题。但也有少数特殊的窗口,比如有很多子窗口的窗口, 对于这种窗口,在绑定时,一定要把鼠标指向一个可以输入文字的窗口,比如一个文本框, 最好能激活这个文本框,这样可以保证绑定的成功,如果返回值是0,可以用GetLastError获取信息。
函数说明:
降低目标窗口所在进程的CPU占用
函数体:
int DownCpu(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值范围大于等于0 取值为0 表示关闭CPU优化. 这个值越大表示降低CPU效果越好. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定窗口成功以后调用,而且必须保证目标窗口可以支持dx.graphic.3d或者dx.graphic.3d.8或者dx.graphic.2d或者dx.graphic.2d.2或者dx.graphic.opengl或者dx.graphic.opengl.esv2方式截图,或者使用dx.public.down.cpu.否则降低CPU无效 因为降低CPU是通过降低窗口刷新速度或者在系统消息循环增加延时来实现,所以注意,开启此功能以后会导致窗口刷新速度变慢.
函数说明:
设置是否暂时关闭或者开启后台功能. 默认是开启. 一般用在前台切换,或者脚本暂停和恢复时,可以让用户操作窗口.
函数体:
int EnableBind(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值如下 "0": 全部关闭(图色键鼠都关闭,也就是说图色,键鼠都是前台,但是如果有指定dx.public.active.message时,在窗口前后台切换时,这个属性会失效) "-1": 只关闭图色 "1": 开启(默认) "5": 同0,也是全部关闭,但是这个模式下,就算窗口在前后台切换时,属性dx.public.active.message的效果也一样不会失效 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
Elf elf = new Elf(); elf.Reg(MyParam.REG_CODE,"ELF");//收费函数 Object[] params = new Object[]{"","h"}; int hwnd = Integer.parseInt(elf.execute(Window.class,WindowOperations.FindWindow,params)toString()); logger.info("获取到句柄: {},执行绑定.",hwnd); params = new Object[]{hwnd,"normal","windows","windows",0}; int res = Integer.parseInt(elf.execute(Background.class,BackgroundOperations.BindWindow,params)toString()); logger.info("BindWindow :{}",res); Thread.sleep(1000); params = new Object[]{0}; res = Integer.parseInt(elf.execute(Background.class,BackgroundOperations.EnableBind,params)toString()); logger.info("切换成前台 :{}",res);
结果:
获取到句柄: 9177636,执行绑定. BindWindow :1 切换成前台 :1
备注:
函数说明:
设置是否开启后台假激活功能. 默认是关闭. 一般用不到. 除非有人有特殊需求,注意看备注
函数体:
int EnableFakeActive(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0关闭,1开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口的含义并不是关闭或者开启窗口假激活功能(dx.public.active.api或者dx.public.active.message). 而是说有些时候,本来窗口没有激活并且在没有绑定的状态下,可以正常使用的功能,而在窗口绑定以后,并且窗口在非激活状态下,此时由于绑定的锁定导致无法使用. 那么,你就需要把你的部分代码用EnableFakeActive来保护起来。这样就让插件认为你的这段代码是在窗口激活状态下执行. 另外,此函数开启以后,有可能会让前台影响到后台. 所以如果不是特殊情况,最好是关闭. 开启这个还会把已经锁定的键盘鼠标(LockInput)强制解锁.有些时候,有人会故意利用这个前台影响后台的作用,做类似同步器的软件,那这个函数就很有作用了,还有一些窗口对消息检测比较严格,那么需要开启这个接口才可以后台操作,或者组合键操作
函数说明:
设置是否关闭绑定窗口所在进程的输入法
函数体:
int EnableIme(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0关闭,1开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数必须在绑定后调用才有效果
函数说明:
是否在使用dx键盘时开启windows消息.默认开启.
函数体:
int EnableKeypadMsg(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0关闭,1开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定之后才能调用。特殊时候使用
函数说明:
键盘消息发送补丁. 默认是关闭
函数体:
int EnableKeypadPatch(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0关闭,1开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定之后才能调用。
函数说明:
键盘消息采用同步发送模式.默认异步
函数体:
int EnableKeypadSync(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0关闭同步,1开启同步 |
params[1] | int | 单位是毫秒,表示同步等待的最大时间. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定之后才能调用。 有些时候,如果是异步发送,如果发送动作太快,中间没有延时,有可能下个动作会影响前面的.而用同步就没有这个担心.
函数说明:
是否在使用dx鼠标时开启windows消息.默认开启
函数体:
int EnableMouseMsg(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:禁止,1:开启. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定之后才能调用
函数说明:
鼠标消息采用同步发送模式.默认异步
函数体:
int EnableMouseSync(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:禁止同步,1:开启同步. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定之后才能调用 异步发送,如果发送动作太快,中间没有延时(delay),有可能下个动作会影响前面的
函数说明:
键盘动作模拟真实操作,点击延时随机
函数体:
int EnableRealKeypad(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭模拟,1:开启模拟. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口对KeyPress KeyPressChar KeyPressStr起作用。具体表现是键盘按下和弹起的间隔会在 当前设定延时的基础上,上下随机浮动50%. 假如设定的键盘延时是100,那么这个延时可能就是50-150之间的一个值. 设定延时的函数是 SetKeypadDelay
函数说明:
鼠标动作模拟真实操作,带移动轨迹,以及点击延时随机
函数体:
int EnableRealMouse(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭模拟, 1:开启模拟(直线模式), 2:开启模拟(曲线模式). |
params[1] | int | 单位是毫秒. 表示在模拟鼠标移动轨迹时,每移动一次的时间间隔.这个值越大,鼠标移动越慢. |
params[2] | int | 表示在模拟鼠标移动轨迹时,每移动一次的距离. 这个值越大,鼠标移动越快速. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口对LeftClick RightClick MiddleClick LeftDoubleClick起作用。具体表现是鼠标按下和弹起的间隔会在 当前设定延时的基础上,上下随机浮动50%. 假如设定的键盘延时是100,那么这个延时可能就是50-150之间的一个值. 设定延时的函数是 SetKeypadDelay
函数说明:
设置是否开启高速dx键鼠模式。 默认是关闭
函数体:
int EnableSpeedDx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数开启的后果就是,所有dx键鼠操作将不会等待,适用于某些特殊的场合(比如避免窗口无响应导致宿主进程也卡死的问题).EnableMouseSync和EnableKeyboardSync开启以后,此函数就无效了. 此函数可能在部分窗口下会有副作用,谨慎使用!!
函数说明:
强制解除绑定窗口,并释放系统资源
函数体:
int ForceUnBindWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 要解除绑定的窗口句柄. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口一般用在BindWindow和BindWindowEx中,使用了模式1 3 5 7或者属性dx.public.hide.dll后,在线程或者进程结束后,没有正确调用UnBindWindow而导致下次绑定无法成功时,可以先调用这个函数强制解除绑定,并释放资源,再进行绑定. 此接口不可替代UnBindWindow. 只是用在非常时刻. 切记.一般情况下可以无条件的在BindWindow或者BindWindowEx之前调用一次此函数。保证此刻窗口处于非绑定状态 需要注意的是,此函数只可以强制解绑在同进程绑定的窗口. 不可在不同的进程解绑别的进程绑定的窗口.(会产生异常
函数说明:
获取当前对象已经绑定的窗口句柄. 无绑定返回0
函数体:
int GetBindWindow()
参数列表:
无,传入null即可。
返回值:
返回值 | 说明 |
---|---|
int | 返回窗口句柄,无绑定返回0 |
参考:
Elf elf = new Elf(); int res = Integer.parseInt(elf.execute(Background.class,BackgroundOperations.GetBindWindow,null).toString()); logger.info("res :{}" ,res);
结果:
res :0
备注:
无
函数说明:
即时获取绑定窗口的fps.
函数体:
int GetFps()
参数列表:
无,传入null即可。
返回值:
返回值 | 说明 |
---|---|
int | fps |
参考:
无
结果:
无
备注:
要想获取fps,那么图色模式必须是dx模式的其中一种. 比如dx.graphic.3d dx.graphic.opengl等.
函数说明:
对目标窗口设置加速功能(类似变速齿轮),必须在绑定参数中有dx.public.hack.speed时才会生效.
函数体:
int HackSpeed(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值范围大于0. 默认是1.0 表示不加速,也不减速. 小于1.0表示减速,大于1.0表示加速. 精度为小数点后1位. 也就是说1.5 和 1.56其实是一样的. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口必须在绑定窗口成功以后调用,而且必须有参数dx.public.hack.speed. 不一定对所有窗口有效,具体自己测试
函数说明:
判定指定窗口是否已经被后台绑定. (前台无法判定)
函数体:
int IsBind(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 要进行判断的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没绑定或者窗口不存在,1:已绑定 |
参考:
无
结果:
无
备注:
无
函数说明:
锁定指定窗口的图色数据(不刷新)
函数体:
int LockDisplay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 :关闭锁定 1 :开启锁定 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口只对图色为dx.graphic.3d dx.graphic.3d.8 dx.graphic.2d dx.graphic.2d.2有效
函数说明:
禁止外部输入到指定窗口
函数体:
int LockInput(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 :关闭锁定 1 :开启锁定 2 :只锁定鼠标 3 :只锁定键盘 4 :同1,但当您发现某些特殊按键无法锁定时,比如(回车,ESC等),那就用这个模式,但此模式会让SendString函数后台失效,或者采用和SendString类似原理发送字符串的其他3方函数失效 5 :同3,但当您发现某些特殊按键无法锁定时,比如(回车,ESC等),那就用这个模式吧. 但此模式会让SendString函数后台失效,或者采用和SendString类似原理发送字符串的其他3方函数失效 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口只针对dx键鼠. 普通键鼠无效,有时候,绑定为dx2 鼠标模式时(或者没有锁定鼠标位置或状态时),在脚本处理过程中,在某个时候需要临时锁定外部输入,以免外部干扰,那么这个函数就非常有用 锁定完以后,记得要解除锁定,否则外部永远都无法输入了,除非解除了窗口绑定
函数说明:
设置前台鼠标在屏幕上的活动范围
函数体:
int LockMouseRect(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角x |
params[1] | int | 左上角y |
params[2] | int | 右下角x |
params[3] | int | 右下角y |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
调用此函数后,一旦有窗口切换或者窗口移动的动作,那么限制立刻失效. 如果需要恢复,可以再调用此函数,并传入0,0,0,0即可 如果想一直限制鼠标范围在指定的窗口客户区域,那么你需要启动一个线程,并且时刻监视当前活动窗口,然后根据情况调用此函数限制鼠标范围
函数说明:
降低目标窗口所在进程的CPU占用
函数体:
int SetAero(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果您发现当图色后台为dx2 gdi dx3时,如果有发现目标窗口刷新速度过慢,那可以考虑关闭系统Aero
函数说明:
设置dx截图最长等待时间。内部默认是3000毫秒. 一般用不到调整这个
函数体:
int SetDisplayDelay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 等待时间,单位是毫秒。 注意这里不能设置的过小,否则可能会导致截图失败,从而导致图色函数和文字识别失败 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口仅对图色为dx.graphic.3d dx.graphic.3d.8 dx.graphic.2d dx.graphic.2d.2有效. 其他图色模式无效 默认情况下,截图需要等待一个延时,超时就认为截图失败. 这个接口可以调整这个延时. 某些时候或许有用.比如当窗口图色卡死(这时获取图色一定都是超时),并且要判断窗口卡死,那么这个设置就很有用了
函数说明:
设置opengl图色模式的强制刷新窗口等待时间. 内置为400毫秒
函数体:
int SetDisplayRefreshDelay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 等待时间,单位是毫秒。这个值越小,强制刷新的越频繁,相应的窗口可能会导致闪烁 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
慎用,如果因为窗口刷新过快导致截出来的图不是你想要的,可以用这个调整刷新延时。
函数说明:
在不解绑的情况下,切换绑定窗口.(必须是同进程窗口)
函数体:
int SwitchBindWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 需要切换过去的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数一般用在绑定以后,窗口句柄改变了的情况。如果必须不解绑,那么此函数就很有用了
函数说明:
解除绑定窗口,并释放系统资源
函数体:
int UnBindWindow(Object[] params)
参数列表:
无,传入null即可。
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
建议脚本结束时调用一下
函数说明:
对指定的数据地址和长度,组合成新的参数. FindPicMem FindPicMemE 以及FindPicMemEx专用
函数体:
String DownCpu(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 老的地址描述串 |
params[1] | int | 数据地址 |
params[2] | int | 数据长度 |
返回值:
返回值 | 说明 |
---|---|
String | 新的地址描述串 |
参考:
无
结果:
无
备注:
请不要使用,原因不说了。
函数说明:
把BGR的颜色格式转换为RGB
函数体:
String BGR2RGB(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | bgr格式的颜色字符串 |
返回值:
返回值 | 说明 |
---|---|
String | RGB格式的字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
抓取指定区域(x1, y1, x2, y2)的图像,保存为file(24位位图)
函数体:
int Capture(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | x1 |
params[1] | int | y1 |
params[2] | int | x2 |
params[3] | int | y2 |
params[4] | String | 文件保存全路径或文件名,如果是文件名则放到SetPath下 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
抓取指定区域(x1, y1, x2, y2)的动画,保存为gif格式
函数体:
int CaptureGif(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | x1 |
params[1] | int | y1 |
params[2] | int | x2 |
params[3] | int | y2 |
params[4] | String | 文件保存全路径或文件名,如果是文件名则放到SetPath下 |
params[5] | int | 动画间隔,单位毫秒。如果为0,表示只截取静态图片 |
params[6] | int | 总共截取多久的动画,单位毫秒 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
抓取指定区域(x1, y1, x2, y2)的动画,保存为jpg格式
函数体:
int CaptureJpg(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | x1 |
params[1] | int | y1 |
params[2] | int | x2 |
params[3] | int | y2 |
params[4] | String | 文件保存全路径或文件名,如果是文件名则放到SetPath下 |
params[5] | int | jpg压缩比率(1-100) 越大图片质量越好 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
抓取上次操作的图色区域,保存为file(24位位图)
函数体:
int CapturePre(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 保存的文件名,保存的地方一般为SetPath中设置的目录,当然这里也可以指定全路径名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
要开启此函数,必须先调用EnableDisplayDebug
函数说明:
比较指定坐标点(x,y)的颜色
函数体:
int CmpColor(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | x坐标 |
params[1] | int | y坐标 |
params[2] | String | 颜色字符串,可以支持偏色,多色,例如"ffffff-202020|000000-000000"这个表示白色偏色为202020,和黑色偏色为000000.颜色最多支持10种颜色组合. 注意,这里只支持RGB颜色 |
params[3] | double | 相似度(0.1-1.0) |
返回值:
返回值 | 说明 |
---|---|
int | 0:匹配,1:不匹配 |
参考:
无
结果:
无
备注:
无
函数说明:
开启图色调试模式,此模式会稍许降低图色和文字识别的速度.默认不开启.
函数体:
int EnableDisplayDebug(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
调试用
函数说明:
当执行FindPic系列接口时,是否在条件满足下(查找的图片大于等于4),开启多线程查找。默认打开.
函数体:
int EnableFindPicMultithread(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果担心开启多线程会引发占用大量CPU资源,那么可以考虑关闭此功能
函数说明:
允许调用GetColor GetColorBGR GetColorHSV 以及 CmpColor时,以截图的方式来获取颜色。 默认关闭.
函数体:
int EnableGetColorByCapture(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
某些窗口上,可能GetColor会获取不到颜色,可以尝试此接口
函数说明:
查找指定区域内的颜色,颜色格式"RRGGBB-DRDGDB",.
函数体:
int FindColor(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向,取值0-8,不做赘述. |
params[7] | int | 变参指针,返回X坐标 |
params[8] | int | 变参指针,返回Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没找到,1:找到了 |
参考:
Elf elf = new Elf(); //针对变参指针,你只需要了解他的类型,值无所谓。 Object[] params = new Object[]{0,0,1920,1080,"ffffff",1.0,0,0,0}; int res = Integer.parseInt(elf.execute(Picture.class,PictureOperations.FindColor,params)toString()); if (res == 1){ //如果res是1,则说明找到了,这个时候直接用数组获取元素的方式即可 logger.info("找到,x:{},y:{}",params[7],params[8]); }else{ logger.info("没找到"); }
结果:
找到,x:657,y:9
备注:
此处变参指针,你传递过来的值会变成新的值,需要注意,详情看参考。 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左,从下到上 4:从中心往外查找 5: 从上到下,从左到右 6: 从上到下,从右到左 7: 从下到上,从左到右 8: 从下到上,从右到左
函数说明:
查找指定区域内的颜色块,颜色格式"RRGGBB-DRDGDB"
函数体:
int FindColorBlock(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 在宽度为width,高度为height的颜色块中,符合color颜色的最小数量,这个颜色数量可以在综合工具的二值化区域中看到 |
params[7] | int | 颜色块的宽度 |
params[8] | int | 颜色块的高度 |
params[9] | int | 变参指针,返回X坐标 |
params[10] | int | 变参指针,返回Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没找到,1:找到了 |
参考:
无
结果:
无
备注:
无
函数说明:
查找指定区域内的所有颜色块,颜色格式"RRGGBB-DRDGDB"
函数体:
String FindColorBlockE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 在宽度为width,高度为height的颜色块中,符合color颜色的最小数量,这个颜色数量可以在综合工具的二值化区域中看到 |
params[7] | int | 颜色块的宽度 |
params[8] | int | 颜色块的高度 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有颜色块信息的坐标值,然后通过GetResultCount等接口来解析 (由于内存限制,返回的颜色数量最多为1800个左右) |
参考:
无
结果:
无
备注:
无
函数说明:
查找指定区域内的颜色,颜色格式"RRGGBB-DRDGDB"
函数体:
String FindColorE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向,取值0-8,不做赘述 |
返回值:
返回值 | 说明 |
---|---|
String | 返回X和Y坐标 形式如"x|y", 比如"100|200" |
参考:
无
结果:
无
备注:
同FindColor,只是返回值变成了String,形如 679|234 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左,从下到上 4:从中心往外查找 5: 从上到下,从左到右 6: 从上到下,从右到左 7: 从下到上,从左到右 8: 从下到上,从右到左
函数说明:
查找指定区域内的颜色,颜色格式"RRGGBB-DRDGDB"
函数体:
String FindColorEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向,取值0-8,不做赘述 |
返回值:
返回值 | 说明 |
---|---|
String | 返回X和Y坐标,可能有多个,形式如"x|y", 比如"100|200,200|300" |
参考:
无
结果:
无
备注:
返回所有颜色信息的坐标值,然后通过GetResultCount等接口来解析 (由于内存限制,返回的颜色数量最多为1800个左右) 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左,从下到上 4:从中心往外查找 5: 从上到下,从左到右 6: 从上到下,从右到左 7: 从下到上,从左到右 8: 从下到上,从右到左
函数说明:
查找指定区域内的所有颜色.
函数体:
int FindMulColor(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 颜色 格式为"RRGGBB-DRDGDB",比如"123456-000000|aabbcc-202020". |
params[5] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没找到或者部分没找到 1:都找到 |
参考:
无
结果:
无
备注:
返回所有颜色信息的坐标值,然后通过GetResultCount等接口来解析 (由于内存限制,返回的颜色数量最多为1800个左右)
函数说明:
根据指定的多点查找颜色坐标.
函数体:
int FindMultiColor(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | first_color,颜色 格式为"RRGGBB-DRDGDB",比如颜色格式为"RRGGBB-DRDGDB|RRGGBB-DRDGDB|…………",比如"123456-000000" |
params[5] | String | offset_color,偏移颜色,可以支持任意多个点 |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
params[8] | int | 变参指针,返回first_color.X坐标 |
params[9] | int | 变参指针,返回first_color.Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没找到 1:找到 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的多点查找颜色坐标.
函数体:
String FindMultiColorE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | first_color,颜色 格式为"RRGGBB-DRDGDB",比如颜色格式为"RRGGBB-DRDGDB|RRGGBB-DRDGDB|…………",比如"123456-000000" |
params[5] | String | offset_color,偏移颜色,可以支持任意多个点 |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回X和Y坐标 形式如"x|y", 比如"100|200" |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的多点查找颜色坐标.
函数体:
String FindMultiColorEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | first_color,颜色 格式为"RRGGBB-DRDGDB",比如颜色格式为"RRGGBB-DRDGDB|RRGGBB-DRDGDB|…………",比如"123456-000000" |
params[5] | String | offset_color,偏移颜色,可以支持任意多个点 |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有颜色信息的坐标值,然后通过GetResultCount等接口来解析(由于内存限制,返回的坐标数量最多为1800个左右),形式如"x|y", 比如"100|200",多个用 , 隔开 |
参考:
无
结果:
无
备注:
无
函数说明:
查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理,函数可以查找多个图片,只返回第一个找到的X Y坐标.
函数体:
int FindPic(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp" |
params[5] | String | 颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示). 如果这里的色偏是2位,表示使用灰度找图. 比如"20" |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
params[8] | int | 变参指针,返回图片左上角的X坐标 |
params[9] | int | 变参指针,返回图片左上角的Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 返回找到的图片的序号,从0开始索引.如果没找到返回-1 |
参考:
无
结果:
无
备注:
此函数常用,请注意变参指针的取值。 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理,函数可以查找多个图片,只返回第一个找到的X Y坐标.
函数体:
String FindPicE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp" |
params[5] | String | 颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示). 如果这里的色偏是2位,表示使用灰度找图. 比如"20" |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回找到的图片序号(从0开始索引)以及X和Y坐标 形式如"index |
参考:
无
结果:
无
备注:
查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理,函数可以查找多个图片,并且返回所有找到的图像的坐标.
函数体:
String FindPicEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp" |
params[5] | String | 颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示). 如果这里的色偏是2位,表示使用灰度找图. 比如"20" |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回的是所有找到的坐标格式如下:"id,x,y|id,x,y..|id,x,y" (图片左上角的坐标) |
参考:
无
结果:
无
备注:
比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的图片是图像序号为0的图片,坐标是(100,20),第二个是序号为2的图片,坐标(30,40) 由于内存限制,返回的图片数量最多为1500个左右 可以使用函数conversionFindPicEx转换为一个Point对象的List. 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理,函数可以查找多个图片,并且返回所有找到的图像的坐标.
函数体:
String FindPicExS(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp" |
params[5] | String | 颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示). 如果这里的色偏是2位,表示使用灰度找图. 比如"20" |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回的是所有找到的坐标格式如下:"file,x,y|file,x,y..|file,x,y" |
参考:
无
结果:
无
备注:
和FindPicEx相比,此函数只是返回值的id变成了文件名称。
函数比较特殊,涉及到内存指针,已经封装在内,如果有特殊需要可以使用。
函数说明:
查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理,函数可以查找多个图片,只返回第一个找到的X Y坐标.此函数同FindPic.只是返回值不同.
函数体:
String FindPicS(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp" |
params[5] | String | 颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示). 如果这里的色偏是2位,表示使用灰度找图. 比如"20" |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 查找方向 |
params[8] | int | 变参指针,返回图片左上角的X坐标 |
params[9] | int | 变参指针,返回图片左上角的Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 返回找到的图片的文件名. 没找到返回长度为0的字符串. |
参考:
无
结果:
无
备注:
此函数常用,请注意变参指针的取值。 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定的形状
函数体:
String FindPicS(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | offset_color ,坐标偏移描述 可以支持任意多个点,格式为"x1|y1|e1,……xn|yn|en" |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向 |
params[7] | int | 变参指针,返回图片左上角的X坐标 |
params[8] | int | 变参指针,返回图片左上角的Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没找到 1:找到 |
参考:
无
结果:
无
备注:
此函数常用,请注意变参指针的取值。 查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定的形状
函数体:
int FindShapeE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | offset_color ,坐标偏移描述 可以支持任意多个点,格式为"x1|y1|e1,……xn|yn|en" |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回X和Y坐标 形式如"x|y", 比如"100|200" |
参考:
无
结果:
无
备注:
查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
查找指定的形状
函数体:
int FindShapeEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | offset_color ,坐标偏移描述 可以支持任意多个点,格式为"x1|y1|e1,……xn|yn|en" |
params[5] | double | 相似度,取值范围0.1-1.0 |
params[6] | int | 查找方向 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有形状的坐标值,然后通过GetResultCount等接口来解析(由于内存限制,返回的坐标数量最多为1800个左右) |
参考:
无
结果:
无
备注:
查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
函数说明:
释放指定的图片,此函数不必要调用,除非你想节省内存
函数体:
int FreePic(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 文件名比如"1.bmp|2.bmp|3.bmp" 等,可以使用通配符 ".bmp" 这个对应了所有的bmp文件 "a?c.bmp" 这个代表了所有第一个字母是a 第三个字母是c 第二个字母任意的所有bmp文件 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
获取范围(x1,y1,x2,y2)颜色的均值,返回格式"H.S.V"
函数体:
String GetAveHSV(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 颜色字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
获取范围(x1,y1,x2,y2)颜色的均值,返回格式"RRGGBB"
函数体:
String GetAveRGB(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 颜色字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
获取(x,y)的颜色,颜色返回格式"RRGGBB"
函数体:
String GetColor(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | X坐标 |
params[1] | int | Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 颜色字符串(注意这里都是小写字符,和工具相匹配) |
参考:
无
结果:
无
备注:
无
函数说明:
获取(x,y)的颜色,颜色返回格式"BBGGRR"
函数体:
String GetColorBGR(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | X坐标 |
params[1] | int | Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 颜色字符串(注意这里都是小写字符,和工具相匹配) |
参考:
无
结果:
无
备注:
无
函数说明:
获取(x,y)的颜色,颜色返回格式"H.S.V"
函数体:
String GetColorHSV(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | X坐标 |
params[1] | int | Y坐标 |
返回值:
返回值 | 说明 |
---|---|
String | 颜色字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定区域的颜色数量,颜色格式"RRGGBB-DRDGDB"
函数体:
int GetColorNum(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | String | 格式为"RRGGBB-DRDGDB"的颜色 |
params[5] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
int | 颜色数量 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定图片的尺寸,如果指定的图片已经被加入缓存,则从缓存中获取信息 此接口也会把此图片加入缓存. (当图色缓存机制打开时,具体参考EnablePicCache)
函数体:
String GetPicSize(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 形式如 "w,h" 比如"30,20" |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定区域的图像,用二进制数据的方式返回
函数体:
int GetScreenData(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 返回的是指定区域的二进制颜色数据地址,每个颜色是4个字节,表示方式为(00RRGGBB) |
参考:
无
结果:
无
备注:
GetScreenData和GetScreenDataBmp并不推荐使用,因为单独使用用不了。
函数说明:
获取指定区域的图像,用24位位图的数据格式返回,方便二次开发.(或者可以配合SetDisplayInput的mem模式)
函数体:
int GetScreenDataBmp(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
转换图片格式为24位BMP格式.
函数体:
int ImageToBmp(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 要转换的图片名 |
params[1] | String | 要保存的BMP图片名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
判断指定的区域,在指定的时间内(秒),图像数据是否一直不变.(卡屏). (或者绑定的窗口不存在也返回1)
函数体:
int IsDisplayDead(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 区域的左上X坐标 |
params[1] | int | 区域的左上Y坐标 |
params[2] | int | 区域的右下X坐标 |
params[3] | int | 区域的右下Y坐标 |
params[4] | int | 需要等待的时间,单位是秒 |
返回值:
返回值 | 说明 |
---|---|
int | 0:没有卡屏,图像数据在变化 1:卡屏. 图像数据在指定的时间内一直没有变化. 或者绑定的窗口不见了 |
参考:
无
结果:
无
备注:
此函数的原理是不停的截取指定区域的图像,然后比较,如果改变就立刻返回0,否则等待直到指定的时间到达 理性使用
函数说明:
预先加载指定的图片,这样在操作任何和图片相关的函数时,将省去了加载图片的时间。调用此函数后,没必要一定要调用FreePic,插件自己会自动释放 此函数不是必须调用的,所有和图形相关的函数只要调用过一次,图片会自动加入缓存 如果想对一个已经加入缓存的图片进行修改,那么必须先用FreePic释放此图片在缓存中占用的内存,然后重新调用图片相关接口,就可以重新加载此图片
函数体:
int IsDisplayDead(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名,可以使用通配符 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
如果在LoadPic后(图片名为相对路径时),又设置SetPath为别的目录,会导致加入缓存的图片失效,等于没加载.
函数说明:
预先加载指定的图片,这样在操作任何和图片相关的函数时,将省去了加载图片的时间。调用此函数后,没必要一定要调用FreePic,插件自己会自动释放 此函数不是必须调用的,所有和图形相关的函数只要调用过一次,图片会自动加入缓存 如果想对一个已经加入缓存的图片进行修改,那么必须先用FreePic释放此图片在缓存中占用的内存,然后重新调用图片相关接口,就可以重新加载此图片
函数体:
int LoadPicByte(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | BMP图像首地址 |
params[1] | int | BMP图像大小 |
params[2] | String | 文件名,指定这个地址对应的图片名. 用于找图时使用 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
可以配合GetScreenDataBmp使用,慎用。
函数说明:
根据通配符获取文件集合. 方便用于FindPic和FindPicEx
函数体:
String MatchPicName(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名,可以使用通配符 |
返回值:
返回值 | 说明 |
---|---|
String | 返回的是通配符对应的文件集合,每个图片以|分割 |
参考:
无
结果:
无
备注:
无
函数说明:
把RGB的颜色格式转换为BGR
函数体:
String RGB2BGR(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | rgb格式的颜色字符串 |
返回值:
返回值 | 说明 |
---|---|
String | BGR格式的字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
设置图色,以及文字识别时,需要排除的区域.(支持所有图色接口,以及文字相关接口,但对单点取色,或者单点颜色比较的接口不支持)
函数体:
int SetExcludeRegion(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 模式,取值如下 "0": 添加排除区域 "1": 设置排除区域的颜色,默认颜色是FF00FF "2": 清空排除区域 |
params[1] | String | 根据mode的取值来决定 "0": 此参数指添加的区域,可以多个区域,用"|"相连. 格式为"x1,y1,x2,y2|....." "1": 此参数为排除区域的颜色,"RRGGBB" "2": 此参数无效 |
返回值:
返回值 | 说明 |
---|---|
String | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置图片密码,如果图片本身没有加密,那么此设置不影响不加密的图片,一样正常使用
函数体:
int SetPicPwd(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 图片密码 |
返回值:
返回值 | 说明 |
---|---|
String | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
图片加解密,可以看看综合工具
函数说明:
设置当前系统鼠标的精确度开关
函数体:
int EnableMouseAccuracy(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:开启,推荐关闭,这个东西要多难用有多难用 |
返回值:
返回值 | 说明 |
---|---|
int | 设置之前的精确度开关 |
参考:
无
结果:
无
备注:
无
函数说明:
设置当前系统鼠标的精确度开关
函数体:
int GetCursorPos(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 变参指针,返回X坐标 |
params[1] | int | 变参指针,返回Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
获取鼠标特征码. 当BindWindow或者BindWindowEx中的mouse参数含有dx.mouse.cursor时 获取到的是后台鼠标特征,否则是前台鼠标特征.
函数说明:
设置当前系统鼠标的精确度开关
函数体:
String GetCursorShape(Object[] params)
参数列表:
无,传入null即可.
返回值:
返回值 | 说明 |
---|---|
String | 成功时,返回鼠标特征码,失败时,返回空的串 |
参考:
无
结果:
无
备注:
WIN7以及以上系统,必须在字体显示设置里把文字大小调整为默认(100%),否则特征码会变 特征码就是鼠标形状的代号,例如某游戏战斗中鼠标会变成一把剑,平时是一只小手。
函数说明:
设置当前系统鼠标的精确度开关
函数体:
String GetCursorShapeEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 获取鼠标特征码的方式. 和综合工具中的方式1 方式2对应. 方式1此参数值为0. 方式2此参数值为1. |
返回值:
返回值 | 说明 |
---|---|
String | 成功时,返回鼠标特征码,失败时,返回空的串 |
参考:
无
结果:
无
备注:
WIN7以及以上系统,必须在字体显示设置里把文字大小调整为默认(100%),否则特征码会变
函数说明:
获取鼠标热点位置,并不是鼠标坐标
函数体:
String GetCursorSpot(Object[] params)
参数列表:
无,传入null即可.
返回值:
返回值 | 说明 |
---|---|
String | 成功时,返回形如"x,y"的字符串,失败时,返回空的串 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定的按键状态.(前台信息,不是后台)
函数体:
int GetKeyState(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 虚拟按键码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:弹起,1:按下 |
参考:
无
结果:
无
备注:
无
函数说明:
获取系统鼠标的移动速度
函数体:
String GetMouseSpeed(Object[] params)
参数列表:
无,传入null即可.
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,否则就是鼠标速度 |
参考:
无
结果:
无
备注:
无
函数说明:
按住指定的虚拟键码
函数体:
int KeyDown(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 虚拟按键码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按住指定的虚拟键
函数体:
int KeyDownChar(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 字符串描述的键码. 大小写无所谓 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按下指定的虚拟键码
函数体:
int KeyPress(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 虚拟按键码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按下指定的虚拟键
函数体:
int KeyPressChar(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 字符串描述的键码. 大小写无所谓 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的字符串序列,依次按顺序按下其中的字符
函数体:
int KeyPressStr(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 需要按下的字符串序列,比如"1234","abcd","7389,1462"等 |
params[1] | int | 每按下一个按键,需要延时多久. |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
弹起指定的虚拟键码
函数体:
int KeyUp(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 虚拟按键码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
弹起指定的虚拟键
函数体:
int KeyUpChar(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 字符串描述的键码. 大小写无所谓 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按下鼠标左键
函数体:
int LeftClick(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
左键双击
函数体:
int LeftDoubleClick(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按住左键
函数体:
int LeftDown(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
弹起左键
函数体:
int LeftUp(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按下鼠标中键
函数体:
int MiddleClick(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按住鼠标中键
函数体:
int MiddleDown(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
弹起鼠标中键
函数体:
int MiddleUp(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
鼠标相对于上次的位置移动rx,ry
函数体:
int MoveR(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 相对于上次的X偏移 |
params[1] | int | 相对于上次的Y偏移 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
最好配合SetMouseSpeed和EnableMouseAccuracy函数来使用,因为DPI会影响最终结果。
函数说明:
鼠标移动到目的点(x,y)
函数体:
int MoveTo(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | X坐标 |
params[1] | int | Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
鼠标移动到目的范围内的任意一点
函数体:
int MoveToEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | X坐标 |
params[1] | int | Y坐标 |
params[2] | int | 宽度(从x计算起) |
params[3] | int | 高度(从y计算起) |
返回值:
返回值 | 说明 |
---|---|
String | 返回要移动到的目标点. 格式为x,y |
参考:
无
结果:
无
备注:
这个函数是移动到x,y,x+w,y+h范围内随机一个点,推荐使用。
函数说明:
按下鼠标右键
函数体:
int RightClick(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
按住鼠标右键
函数体:
int RightDown(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
弹起鼠标右键
函数体:
int RightUp(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置按键时,键盘按下和弹起的时间间隔。高级用户使用。某些窗口可能需要调整这个参数才可以正常按键
函数体:
int SetKeypadDelay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值如下 "normal": 对应normal键盘 默认内部延时为30ms "windows": 对应windows键盘 默认内部延时为10ms "dx ": 对应dx键盘 默认内部延时为50ms |
params[1] | int | 延时,单位是毫秒 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数影响的接口有KeyPress
函数说明:
设置鼠标单击或者双击时,鼠标按下和弹起的时间间隔。高级用户使用。某些窗口可能需要调整这个参数才可以正常点击。
函数体:
int SetKeypadDelay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值如下 "normal": 对应normal鼠标 默认内部延时为30ms "windows": 对应windows鼠标 默认内部延时为10ms "dx ": 对应dx鼠标 默认内部延时为40ms |
params[1] | int | 延时,单位是毫秒 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数影响的接口有LeftClick RightClick MiddleClick LeftDoubleClick
函数说明:
设置系统鼠标的移动速度
函数体:
int SetMouseSpeed(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 鼠标移动速度, 最小1,最大11. 居中为6. 推荐设置为6 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置前台键鼠的模拟方式
函数体:
int SetSimMode(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值如下 "0": 默认 "1": 硬件模拟 "2 ": 硬件模拟2(ps2) "3 ": 硬件模拟3 |
返回值:
返回值 | 说明 |
---|---|
int | 0:插件没注册 1:成功 -1 :32位系统不支持 -2 : 驱动释放失败 -3 : 驱动加载失败.可能是权限不够 -10:设置失败 -7 : 系统版本不支持 |
参考:
无
结果:
无
备注:
除了模式0,其他方式需要加载驱动,所以调用进程必须有管理员权限 加载驱动时,必须让安全软件放行. 否则模拟无效 硬件模拟1,没有对键鼠的接口类型有任何限制(PS/2 USB接口)都可以模拟,甚至不插任何键鼠设备都可以模拟. 硬件模拟2(ps2),模式下的键盘基本是正常的,但鼠标兼容性很差,建议只适用此模式的键盘. 鼠标可以使用别的模式. 键盘和鼠标不要求必须插入真实的ps2设备. 硬件模拟3, 设置以后,必须手动按下需要模拟的键盘和鼠标,否则会卡住.直到按下为止. 此后,再次设置不需要重新按下键盘鼠标,直到系统重启. 这个模拟要求被指定的键盘和鼠标不可以中途插拔,会造成模拟失效. 另外,用模拟3后,最好不要调用MoveTo或者MoveToE接口,改为用MoveR自己实现MoveTo或者MoveToEx,否则可能会造成鼠标移动到屏幕左上角的问题. 此接口仅对本对象生效,实际上所有的接口都仅仅对本对象生效,除了DmGuard是全局的
函数说明:
等待指定的按键按下 (前台,不是后台)
函数体:
int WaitKey(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 虚拟按键码,当此值为0,表示等待任意按键。 鼠标左键是1,鼠标右键时2,鼠标中键是4. |
params[1] | int | 等待多久,单位毫秒. 如果是0,表示一直等待. |
返回值:
返回值 | 说明 |
---|---|
int | 0:超时 1:指定的按键按下:(当vk_code为0时) 按下的按键码:(当vk_code为0时) |
参考:
无
结果:
无
备注:
可能有三个返回值
函数说明:
滚轮向下滚
函数体:
int WheelDown(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
滚轮向上滚
函数体:
int WheelUp(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
把窗口坐标转换为屏幕坐标
函数体:
int ClientToScreen(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 变参指针,窗口X坐标 |
params[2] | int | 变参指针,窗口Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定进程名,枚举系统中符合条件的进程PID,并且按照进程打开顺序排序
函数体:
String EnumProcess(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 进程名,比如qq.exe |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有匹配的进程PID,并按打开顺序排序,格式"pid1,pid2,pid3" |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定条件,枚举系统中符合条件的窗口
函数体:
String EnumWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 获得的窗口句柄是该窗口的子窗口的窗口句柄,取0时为获得桌面句柄 |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
params[3] | int | 取值定义如下 "1 :" 匹配窗口标题,参数[1]有效 "2 :" 匹配窗口类名,参数[2]有效 "4 :" 只匹配指定父窗口的第一层子窗口 "8 :" 匹配父窗口为0的窗口,即顶级窗口 "16 :" 匹配可见的窗口 "32 :" 匹配出的窗口按照窗口打开顺序依次排列 这些值可以相加,比如4+8+16就是类似于任务管理器中的窗口列表 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3" |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定进程以及其它条件,枚举系统中符合条件的窗口
函数体:
String EnumWindowByProcess(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 进程映像名.比如(svchost.exe). 此参数是精确匹配,但不区分大小写 |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
params[3] | int | 取值定义如下 "1 :" 匹配窗口标题,参数[1]有效 "2 :" 匹配窗口类名,参数[2]有效 "4 :" 只匹配指定映像的所对应的第一个进程. 可能有很多同映像名的进程,只匹配第一个进程的 "8 :" 匹配父窗口为0的窗口,即顶级窗口 "16 :" 匹配可见的窗口 "32 :" 匹配出的窗口按照窗口打开顺序依次排列 这些值可以相加,比如4+8+16就是类似于任务管理器中的窗口列表 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3" |
参考:
无
结果:
无
备注:
同EnumWindow,参数[3]可以相加
函数说明:
根据指定进程以及其它条件,枚举系统中符合条件的窗口
函数体:
String EnumWindowByProcessId(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 进程pid |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
params[3] | int | 取值定义如下 "1 :" 匹配窗口标题,参数[1]有效 "2 :" 匹配窗口类名,参数[2]有效 "8 :" 匹配父窗口为0的窗口,即顶级窗口 "16 :" 匹配可见的窗口 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3" |
参考:
无
结果:
无
备注:
同EnumWindow,参数[3]可以相加
函数说明:
根据指定进程以及其它条件,枚举系统中符合条件的窗口
函数体:
String EnumWindowSuper(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 查找串1,内容取决于参数[1] |
params[1] | String | 取值如下 "0 :" 内容是标题 "1 :" 内容是程序名字 "2 :" 内容是类名 "3 :" 内容是程序路径.(不包含盘符,比如\windows\system32) "4 :" 容是父句柄.(十进制表达的串) "5 :" 内容是父窗口标题 "6 :" 内容是父窗口类名 "7 :" 内容是顶级窗口句柄.(十进制表达的串) "8 :" 内容是顶级窗口标题 "9 :" 内容是顶级窗口类名 |
params[2] | int | 取值如下 "0 :" 精确判断 "1 :" 模糊判断 |
params[3] | String | 同参数[1] |
params[4] | String | 同参数[2] |
params[5] | String | 取值如下 "0 :" 不排序 "1 :" 对枚举出的窗口进行排序,按照窗口打开顺序 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3" |
参考:
无
结果:
无
备注:
以两组条件类枚举窗口,参数[1]和参数[2]是一组,参数[3]和参数[4]是一组.
函数说明:
查找符合类名或者标题名的顶层可见窗口
函数体:
int FindWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配 |
params[1] | String | 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配 |
返回值:
返回值 | 说明 |
---|---|
int | 整形数表示的窗口句柄,没找到返回0 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的进程名字,来查找可见窗口
函数体:
int FindWindowByProcess(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 进程映像名.比如(svchost.exe). 此参数是精确匹配,但不区分大小写 |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
返回值:
返回值 | 说明 |
---|---|
int | 整形数表示的窗口句柄,没找到返回0 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的进程Id,来查找可见窗口
函数体:
int FindWindowByProcessId(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 进程pid |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
返回值:
返回值 | 说明 |
---|---|
int | 整形数表示的窗口句柄,没找到返回0 |
参考:
无
结果:
无
备注:
无
函数说明:
查找符合类名或者标题名的顶层可见窗口,如果指定了父窗口句柄,则在parent的第一层子窗口中查找.
函数体:
int FindWindowEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 父窗口句柄,如果为空,则匹配所有顶层窗口 |
params[1] | String | 窗口标题. 此参数是模糊匹配 |
params[2] | String | 窗口类名. 此参数是模糊匹配 |
返回值:
返回值 | 说明 |
---|---|
int | 整形数表示的窗口句柄,没找到返回0 |
参考:
无
结果:
无
备注:
无
函数说明:
根据两组设定条件来查找指定窗口
函数体:
int FindWindowSuper(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 查找串1,内容取决于参数[1] |
params[1] | String | 取值如下 "0 :" 内容是标题 "1 :" 内容是程序名字 "2 :" 内容是类名 "3 :" 内容是程序路径.(不包含盘符,比如\windows\system32) "4 :" 容是父句柄.(十进制表达的串) "5 :" 内容是父窗口标题 "6 :" 内容是父窗口类名 "7 :" 内容是顶级窗口句柄.(十进制表达的串) "8 :" 内容是顶级窗口标题 "9 :" 内容是顶级窗口类名 |
params[2] | int | 取值如下 "0 :" 精确判断 "1 :" 模糊判断 |
params[3] | String | 同参数[1] |
params[4] | String | 同参数[2] |
params[5] | int | 取值如下 "0 :" 精确判断 "1 :" 模糊判断 |
返回值:
返回值 | 说明 |
---|---|
int | 整形数表示的窗口句柄,没找到返回0 |
参考:
无
结果:
无
函数说明:
获取窗口客户区域在屏幕上的位置
函数体:
int GetClientRect(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 变参指针,返回窗口客户区左上角X坐标 |
params[2] | int | 变参指针,返回窗口客户区左上角Y坐标 |
params[3] | int | 变参指针,返回窗口客户区右下角X坐标 |
params[4] | int | 变参指针,返回窗口客户区右下角Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
获取窗口客户区域的宽度和高度
函数体:
int GetClientSize(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 变参指针,宽度 |
params[2] | int | 变参指针,高度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
获取顶层活动窗口中具有输入焦点的窗口句柄
函数体:
int GetForegroundFocus(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的窗口句柄 |
参考:
无
结果:
无
备注:
无
函数说明:
获取顶层活动窗口
函数体:
int GetForegroundWindow(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的窗口句柄 |
参考:
无
结果:
无
备注:
无
函数说明:
获取鼠标指向的可见窗口句柄
函数体:
int GetMousePointWindow(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的窗口句柄 |
参考:
无
结果:
无
备注:
鼠标移动到游戏窗口,按下快捷键即可实现获取句柄和绑定。
函数说明:
获取给定坐标的可见窗口句柄
函数体:
int GetPointWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 屏幕X坐标 |
params[1] | int | 屏幕Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的窗口句柄 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的pid获取进程详细信息,(进程名,进程全路径,CPU占用率(百分比),内存占用量(字节))
函数体:
String GetProcessInfo(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 进程pid |
返回值:
返回值 | 说明 |
---|---|
int | 格式"进程名|进程路径|cpu|内存" |
参考:
无
结果:
无
备注:
有些时候有保护的时候,此函数返回内容会错误,那么此时可以尝试用memory保护盾来试试看.另外此接口调用会延迟1秒.
函数说明:
获取特殊窗口
函数体:
String GetSpecialWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值定义如下 "0 :" 获取桌面窗口 "1 :" 获取任务栏窗口 |
返回值:
返回值 | 说明 |
---|---|
String | 以整型数表示的窗口句柄 |
参考:
无
结果:
无
备注:
无
函数说明:
获取给定窗口相关的窗口句柄
函数体:
int GetWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 窗口句柄 |
params[0] | int | 取值定义如下 "0 :" 获取父窗口 "1 :" 获取第一个子窗口 "2 :" 获取First 窗口 "3 :" 获取Last窗口 "4 :" 获取下一个窗口 "5 :" 获取上一个窗口 "6 :" 获取拥有者窗口 "7 :" 获取顶层窗口 |
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的窗口句柄 |
参考:
无
结果:
无
备注:
无
函数说明:
获取窗口的类名
函数体:
String GetWindowClass(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
String | 窗口的类名 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定窗口所在的进程ID
函数体:
int GetWindowProcessId(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
int | 返回整型表示的是进程ID |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定窗口所在的进程的exe文件全路径
函数体:
int GetWindowProcessPath(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
String | 返回字符串表示的是exe全路径名 |
参考:
无
结果:
无
备注:
无
函数说明:
获取窗口在屏幕上的位置
函数体:
int GetWindowRect(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 变参指针,返回窗口左上角X坐标 |
params[2] | int | 变参指针,返回窗口左上角Y坐标 |
params[3] | int | 变参指针,返回窗口右下角X坐标 |
params[4] | int | 变参指针,返回窗口右下角Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定窗口的一些属性
函数体:
int GetWindowState(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 取值定义如下 "0 :" 判断窗口是否存在 "1 :" 判断窗口是否处于激活 "2 :" 判断窗口是否可见 "3 :" 判断窗口是否最小化 "4 :" 判断窗口是否最大化 "5 :" 判断窗口是否置顶 "6 :" 判断窗口是否无响应 "7 :" 判断窗口是否可用(灰色为不可用) "8 :" 另外的方式判断窗口是否无响应,如果6无效可以尝试这个 "9 :" 判断窗口所在进程是不是64位 |
返回值:
返回值 | 说明 |
---|---|
int | 0:不满足条件,1:满足条件 |
参考:
无
结果:
无
备注:
无
函数说明:
获取窗口的标题
函数体:
int GetWindowTitle(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
返回值:
返回值 | 说明 |
---|---|
String | 窗口的标题 |
参考:
无
结果:
无
备注:
无
函数说明:
移动指定窗口到指定位置
函数体:
int MoveWindow(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | X坐标 |
params[2] | int | Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
把屏幕坐标转换为窗口坐标
函数体:
int ScreenToClient(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 变参指针,X坐标 |
params[2] | int | 变参指针,Y坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定窗口发送粘贴命令. 把剪贴板的内容发送到目标窗口
函数体:
int SendPaste(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果为0,则对当前激活的窗口发送 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定窗口发送文本数据
函数体:
int SendString(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果为0,则对当前激活的窗口发送 |
params[1] | String | 发送的文本数据 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
时候发送中文,可能会大部分机器正常,少部分会乱码。这种情况一般有两个可能 1. 系统编码没有设置为GBK 2. 目标程序里可能安装了改变当前编码的软件,比如常见的是输入法. (尝试卸载)
函数说明:
向指定窗口发送文本数据
函数体:
int SendString2(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果为0,则对当前激活的窗口发送 |
params[1] | String | 发送的文本数据 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果SendString不能输入,可以尝试此接口 时候发送中文,可能会大部分机器正常,少部分会乱码。这种情况一般有两个可能 1. 系统编码没有设置为GBK 2. 目标程序里可能安装了改变当前编码的软件,比如常见的是输入法. (尝试卸载)
函数说明:
向绑定的窗口发送文本数据.必须配合dx.public.input.ime属性
函数体:
int SendStringIme(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 发送的文本数据 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
利用真实的输入法,对指定的窗口输入文字.
函数体:
int SendStringIme2(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 窗口句柄 |
params[1] | String | 发送的文本数据 |
params[2] | int | 取值如下 "0 :" 向hwnd的窗口输入文字(前提是必须先用模式200安装了输入法) "1 :" 同模式0,如果由于保护无效,可以尝试此模式 "2 :" 如果由于保护无效,可以尝试此模式 "200 :" 向系统中安装输入法,多次调用没问题. 全局只用安装一次 "300 :" 卸载系统中的输入法. 全局只用卸载一次. 多次调用没关系 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果要同时对此窗口进行绑定,并且绑定的模式是1 3 5 7 101 103,那么您必须要在绑定之前,先执行加载输入法的操作. 否则会造成绑定失败! 在后台输入时,如果目标窗口有判断是否在激活状态才接受输入文字,那么可以配合绑定窗口中的假激活属性来保证文字正常输入. 诸如此类. 基本上用这个没有输入不了的文字
函数说明:
设置窗口客户区域的宽度和高度
函数体:
int SetClientSize(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 宽度 |
params[2] | int | 高度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置窗口的大小
函数体:
int SetWindowSize(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 宽度 |
params[2] | int | 高度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
窗口客户区域和窗口大小并不一样,请注意。
函数说明:
设置窗口的状态
函数体:
int SetWindowState(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 取值定义如下 "0 :" 关闭指定窗口 "1 :" 激活指定窗口 "2 :" 最小化指定窗口,但不激活 "3 :" 最小化指定窗口,并释放内存,但同时也会激活窗口.(释放内存可以考虑用FreeProcessMemory函数) "4 :" 最大化指定窗口,同时激活窗口 "5 :" 恢复指定窗口 ,但不激活 "6 :" 隐藏指定窗口 "7 :" 显示指定窗口 "8 :" 置顶指定窗口 "9 :" 取消置顶指定窗口 "10 :" 禁止指定窗口 "11 :" 取消禁止指定窗口 "12 :" 恢复并激活指定窗口 "13 :" 强制结束窗口所在进程 "14 :" 闪烁指定的窗口 "15 :" 使指定的窗口获取输入焦点 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置窗口的标题
函数体:
int SetWindowText(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 标题 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置窗口的透明度
函数体:
int SetWindowTransparent(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 透明度取值(0-255) 越小透明度越大 0为完全透明(不可见) 255为完全显示(不透明) |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此接口不支持WIN98
函数说明:
给指定的字库中添加一条字库信息
函数体:
int AddDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 库的序号,取值为0-99,目前最多支持100个字库 |
params[1] | String | 字库描述串 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数是向指定的字库所在的内存中添加,而不是往文件中添加. 添加以后立刻就可以用于文字识别。无须再SetDict如果要保存添加进去的字库信息,需要调用SaveDict
函数说明:
清空指定的字库
函数体:
int ClearDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库的序号,取值为0-99,目前最多支持100个字库 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数支持清空内存中的字库,而不是字库文件本身
函数说明:
允许当前调用的对象使用全局字库 如果你的程序中对象太多,并且每个对象都用到了同样的字库,可以考虑用全局字库,这样可以节省大量内存.
函数体:
int EnableShareDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0:关闭,1:打开 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
一旦当前对象开启了全局字库,那么所有的和文字识别,字库相关的接口,通通都认为是对全局字库的操作.如果所有对象都要需要全局字库,可以选一个主对象开启使用全局字库,并且设置好字库,其他对象只需要开启全局字库即可. 注意,第一个开启全局字库,并且设置字库的主对象不可以被释放,并且此主对象在修改字库(SetDict AddDict ClearDict SetDictMem)时,其它任何对象都不可以对全局字库进行操作.也就是说,必须是设置好全局字库后,其它对象才可以开启全局字库.同时,设置好全局字库后,任何对象都不可以修改字库. 只能使用访问字库这样的接口(UseDict等)
函数说明:
根据指定的范围,以及指定的颜色描述,提取点阵信息,类似于大漠工具里的单独提取
函数体:
String FetchWord(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[5] | String | 待定义的文字,不能为空,且不能为关键符号"$" |
返回值:
返回值 | 说明 |
---|---|
int | 识别到的点阵信息,可用于AddDict.如果失败,返回空 |
参考:
无
结果:
无
备注:
无
函数说明:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述
函数体:
int FindStr(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 变参指针,返回X坐标没找到返回-1 |
params[8] | int | 变参指针,返回Y坐标没找到返回-1 |
返回值:
返回值 | 说明 |
---|---|
int | 返回字符串的索引 没找到返回-1, 比如"长安 |
参考:
无
结果:
无
备注:
无
函数说明:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述
函数体:
String FindStrE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回字符串序号以及X和Y坐标,形式如"id|x|y", 比如"0|100|200",没找到时,id和X以及Y均为-1,"-1|-1|-1" |
参考:
无
结果:
无
备注:
无
函数说明:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述
函数体:
String FindStrEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有找到的坐标集合,格式如下: "id,x0,y0|id,x1,y1|......|id,xn,yn" 比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的是序号为0的字符串,坐标是(100,20),第二个是序号为2的字符串,坐标(30,40) |
参考:
无
结果:
无
备注:
无
函数说明:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述
函数体:
String FindStrExs(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有找到的坐标集合,格式如下: "str,x0,y0|str,x1,y1|......|str,xn,yn" 比如"长安,100,20|大雁塔,30,40" 表示找到了两个,第一个是长安 ,坐标是(100,20),第二个是大雁塔,坐标(30,40) |
参考:
无
结果:
无
备注:
无
函数说明:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述 此函数同FindStr,只是返回值不同
函数体:
String FindStrExs(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | int | 变参指针,返回X坐标没找到返回-1 |
params[8] | int | 变参指针,返回Y坐标没找到返回-1 |
返回值:
返回值 | 说明 |
---|---|
String | 返回找到的字符串. 没找到的话返回长度为0的字符串. |
参考:
无
结果:
无
备注:
变参指针
参考FindStr
参考FindStrE
参考FindStrEx
参考FindStrExs
参考FindStrS
函数说明:
同FindStr,但是不使用SetDict设置的字库,而利用系统自带的字库,速度比FindStr稍慢
函数体:
int FindStrWithFont(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | String | 系统字体名,比如"宋体" |
params[8] | int | 系统字体尺寸,这个尺寸一定要以大漠综合工具获取的为准 |
params[9] | int | 字体类别 取值可以是以下值的组合,比如1+2+4+8,2+4. 0表示正常字体 "1 :" 粗体 "2 :" 斜体 "4 :" 下划线 "8 :" 删除线 |
params[10] | int | 变参指针,返回X坐标没找到返回-1 |
params[11] | int | 变参指针,返回Y坐标没找到返回-1 |
返回值:
返回值 | 说明 |
---|---|
int | 返回字符串的索引 没找到返回-1, 比如"长安 |
参考:
无
结果:
无
备注:
变参指针
函数说明:
同FindStr,但是不使用SetDict设置的字库,而利用系统自带的字库,速度比FindStr稍慢
函数体:
String FindStrWithFontE(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | String | 系统字体名,比如"宋体" |
params[8] | int | 系统字体尺寸,这个尺寸一定要以大漠综合工具获取的为准 |
params[9] | int | 字体类别 取值可以是以下值的组合,比如1+2+4+8,2+4. 0表示正常字体 "1 :" 粗体 "2 :" 斜体 "4 :" 下划线 "8 :" 删除线 |
返回值:
返回值 | 说明 |
---|---|
String | 返回字符串序号以及X和Y坐标,形式如"id|x|y", 比如"0|100|200",没找到时,id和X以及Y均为-1,"-1|-1|-1" |
参考:
无
结果:
无
备注:
无
函数说明:
同FindStr,但是不使用SetDict设置的字库,而利用系统自带的字库,速度比FindStr稍慢
函数体:
String FindStrWithFontEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 待查找的字符串,可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串 |
params[5] | String | 颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. |
params[6] | double | 相似度,取值范围0.1-1.0 |
params[7] | String | 系统字体名,比如"宋体" |
params[8] | int | 系统字体尺寸,这个尺寸一定要以大漠综合工具获取的为准 |
params[9] | int | 字体类别 取值可以是以下值的组合,比如1+2+4+8,2+4. 0表示正常字体 "1 :" 粗体 "2 :" 斜体 "4 :" 下划线 "8 :" 删除线 |
返回值:
返回值 | 说明 |
---|---|
String | 返回所有找到的坐标集合,格式如下: "id,x0,y0|id,x1,y1|......|id,xn,yn" 比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的是序号为0的字符串,坐标是(100,20),第二个是序号为2的字符串,坐标(30,40) |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定字库中指定条目的字库信息
函数体:
String GetDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库序号(0-99) |
params[1] | int | 字库条目序号(从0开始计数,数值不得超过指定字库的字库上限 |
返回值:
返回值 | 说明 |
---|---|
String | 返回字库条目信息. 失败返回空串 |
参考:
无
结果:
无
备注:
无
函数说明:
获取指定的字库中的字符数量
函数体:
int GetDictCount(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库序号(0-99) |
返回值:
返回值 | 说明 |
---|---|
int | 字库数量 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的文字,以及指定的系统字库信息,获取字库描述信息
函数体:
String GetDictInfo(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 需要获取的字符串 |
params[1] | String | 系统字体名,比如"宋体" |
params[2] | int | 字体类别 取值可以是以下值的组合,比如1+2+4+8,2+4. 0表示正常字体 "1 :" 粗体 "2 :" 斜体 "4 :" 下划线 "8 :" 删除线 |
返回值:
返回值 | 说明 |
---|---|
String | 返回字库信息,每个字符的字库信息用"|"来分割 |
参考:
无
结果:
无
备注:
无
函数说明:
获取当前使用的字库序号(0-99)
函数体:
int GetNowDict(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 字库序号(0-99) |
参考:
无
结果:
无
备注:
无
函数说明:
对插件部分接口的返回值进行解析,并返回ret中的坐标个数
函数体:
int GetResultCount(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 部分接口的返回串 |
返回值:
返回值 | 说明 |
---|---|
int | 返回ret中的坐标个数 |
参考:
无
结果:
无
备注:
无
函数说明:
对插件部分接口的返回值进行解析,并根据指定的第index个坐标,返回具体的值
函数体:
int GetResultPos(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 部分接口的返回串 |
params[1] | int | 第几个坐标 |
params[2] | int | 变参指针,返回X坐标 |
params[3] | int | 变参指针,返回X坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在使用GetWords进行词组识别以后,可以用此接口进行识别词组数量的计算
函数体:
int GetWordResultCount(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | GetWords接口调用以后的返回值 |
返回值:
返回值 | 说明 |
---|---|
int |
参考:
无
结果:
无
备注:
无
函数说明:
在使用GetWords进行词组识别以后,可以用此接口进行识别各个词组的坐标
函数体:
int GetWordResultPos(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | GetWords的返回值 |
params[1] | int | 表示第几个词组 |
params[2] | int | 变参指针,返回X坐标 |
params[3] | int | 变参指针,返回X坐标 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在使用GetWords进行词组识别以后,可以用此接口进行识别各个词组的内容
函数体:
String GetWordResultStr(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | GetWords的返回值 |
params[1] | int | 表示第几个词组 |
返回值:
返回值 | 说明 |
---|---|
String | 返回的第params[1]个词组内容 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的范围,以及设定好的词组识别参数(一般不用更改,除非你真的理解了) 识别这个范围内所有满足条件的词组. 比较适合用在未知文字的情况下,进行不定识别
函数体:
String GetWords(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[5] | double | 相似度 0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 识别到的格式串,要用到专用函数来解析 |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的范围,以及设定好的词组识别参数(一般不用更改,除非你真的理解了) 识别这个范围内所有满足条件的词组. 这个识别函数不会用到字库。只是识别大概形状的位置
函数体:
String GetWordsNoDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
返回值:
返回值 | 说明 |
---|---|
String | 识别到的格式串,要用到专用函数来解析 |
参考:
无
结果:
无
备注:
无
函数说明:
识别屏幕范围(x1,y1,x2,y2)内符合color_format的字符串,并且相似度为sim,sim取值范围(0.1-1.0),这个值越大越精确,越大速度越快,越小速度越慢,请斟酌使用!
函数体:
String Ocr(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[5] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回识别到的字符串 |
参考:
无
结果:
无
备注:
慎用。
函数说明:
识别屏幕范围(x1,y1,x2,y2)内符合color_format的字符串,并且相似度为sim,sim取值范围(0.1-1.0),这个值越大越精确,越大速度越快,越小速度越慢,请斟酌使用! 这个函数可以返回识别到的字符串,以及每个字符的坐标
函数体:
String OcrEx(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[5] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回识别到的字符串 格式如 "字符0$x0$y0|…|字符n$xn$yn" |
参考:
无
结果:
无
备注:
慎用。
函数说明:
识别屏幕范围(x1,y1,x2,y2)内符合color_format的字符串,并且相似度为sim,sim取值范围(0.1-1.0),这个值越大越精确,越大速度越快,越小速度越慢,请斟酌使用! 这个函数可以返回识别到的字符串,以及每个字符的坐标 这个函数可以返回识别到的字符串,以及每个字符的坐标.这个同OcrEx,另一种返回形式
函数体:
String OcrExOne(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[5] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回识别到的字符串 格式如 "识别到的信息|x0,y0|…|xn,yn" |
参考:
无
结果:
无
备注:
慎用。
函数说明:
识别位图中区域(x1,y1,x2,y2)的文字
函数体:
String OcrInFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 左上角X坐标 |
params[1] | int | 左上角Y坐标 |
params[2] | int | 右下角X坐标 |
params[3] | int | 右下角Y坐标 |
params[4] | String | 图片文件名 |
params[5] | String | 颜色格式串.注意,RGB和HSV,以及灰度格式都支持 |
params[6] | double | 相似度,取值范围0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
String | 返回识别到的字符串 |
参考:
无
结果:
无
备注:
无
函数说明:
识别位图中区域(x1,y1,x2,y2)的文字
函数体:
int SaveDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库索引序号 取值为0-99对应100个字库 |
params[1] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在不使用字库进行词组识别前,可设定文字的列距,默认列距是1
函数体:
int SetColGapNoDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 文字列距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
设置字库文件
函数体:
int SetDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库的序号,取值为0-99,目前最多支持100个字库 |
params[1] | String | 字库文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数速度很慢,全局初始化时调用一次即可,切换字库用UseDict
函数说明:
从内存中设置字库
函数体:
int SetDictMem(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库的序号,取值为0-99,目前最多支持100个字库 |
params[1] | int | 数据地址 |
params[2] | int | 字库长度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数速度很慢,全局初始化时调用一次即可,切换字库用UseDict,此函数不支持加密的内存字库
函数说明:
设置字库的密码,在SetDict前调用,目前的设计是,所有字库通用一个密码
函数体:
int SetDictPwd(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库密码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果使用了多字库,所有字库的密码必须一样. 此函数必须在SetDict之前调用,否则会解密失败
函数说明:
在使用文字识别功能前,设定是否开启精准识别
函数体:
int SetExactOcr(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 表示关闭精准识别 1 表示关闭 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在识别前,如果待识别区域有多行文字,可以设定列间距,默认的列间距是0,根据情况设定,可以提高识别精度。一般不用设定
函数体:
int SetMinColGap(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 最小列间距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此设置如果不为0,那么将不能识别连体字 慎用
函数说明:
识别前,如果待识别区域有多行文字,可以设定行间距,默认的行间距是1,
函数体:
int SetMinRowGap(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 最小行间距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在不使用字库进行词组识别前,可设定文字的行距,默认行距是1
函数体:
int SetRowGapNoDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 文字行距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在识别词组前,可设定词组间的间隔,默认的词组间隔是5
函数体:
int SetWordGap(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 文字行距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在不使用字库进行词组识别前,可设定词组间的间隔,默认的词组间隔是5
函数体:
int SetWordGapNoDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 单词间距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在识别词组前,可设定文字的平均行高,默认的词组行高是10
函数体:
int SetWordLineHeight(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 行高 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
在不使用字库进行词组识别前,可设定文字的平均行高,默认的词组行高是10
函数体:
int SetWordLineHeightNoDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 行高 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
表示使用哪个字库文件进行识别(index范围:0-99),再次调用可以修改。
函数体:
int UseDict(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 字库编号(0-99) |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
百度开源深度学习框架,感兴趣的可以深入研究一下.
这个是我目前发现比较好用的java深度学习框架。
两个项目文件夹,一个是PaddleOCR逻辑项目代码,一个是inference推理/预测模型。 将上述两个文件夹放置于你的项目所在同级目录。
Ocr ocr = new Ocr(); System.out.println(ocr.DoFast("image.bmp"));
构造函数:
public Ocr(){} // 使用这个构造函数会初始化paddle所需文件的位置默认为当前项目所在的同级目录下 public Ocr(String paddle_ocr_project_path){} // 使用这个构造函数来指定化paddle所需文件的位置 public Ocr(boolean draw_pic,boolean use_gpu){} //使用这个构造函数来指定化paddle运行参数,第一个是识别结束后保存图片,第二个是使用独立显卡预测 //本文档使用的方式均默认cpu预测,预测会使cpu占用率较高,并且安装脚本里面也是默认安装cpu二进制文件 //有兴趣的请重写安装文件并打开use_gpu即可 public Ocr(String paddle_ocr_project_path,boolean draw_pic,boolean use_gpu){}
这个方法要求图片比较简单,最好是连续的,不要是分散的文字。返回结果为String,即识别到的文字,只有一个,不带定位信息。
用于识别比较复杂的图片,返回的是一个OcrResult对象,包含识别到的文字,相似度,耗费时间,坐标。
Java离线的Ocr实在没找到很好的替代品,只有如此暂时使用了,实际使用时多多测试,图片识别效果如何,合理运用。
PaddleOCR
Python_install
inference
1 下载上述三个文件,并解压,其中PaddleOCR和inference推荐解压放置在项目所在同级目录 2 Python_install解压后,右键以管理员方式运行install.bat,完成后再右键以管理员方式运行del.bat. 3 打开CMD窗口输入python看看是不是已经能打印python的版本了(3.7.9). 4 使用以下命令测试ocr python C:\Users\sun\Desktop\PaddleOCR\tools\infer\predict_system.py --image_dir=C:\Users\sun\Desktop\test3.png --det_model_dir=C:\Users\sun\Desktop\inference\ch_ppocr_server_v2.0_det_infer --rec_model_dir=C:\Users\sun\Desktop\inference\ch_ppocr_server_v2.0_rec_infer --cls_model_dir=C:\Users\sun\Desktop\inference\ch_ppocr_mobile_v2.0_cls_infer --rec_char_dict_path=C:\Users\sun\Desktop\PaddleOCR\ppocr\utils\ppocr_keys_v1.txt --use_angle_cls=True --use_space_char=True --use_gpu=false --draw_pic=false 记得替换自己的路径。 文件很大,因为paddlepaddle的依赖我在本机已经安装好了,python里面也包含了一系列插件包,使用时可以java调用bat来安装即可。
函数说明:
拷贝文件
函数体:
int CopyFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 原始文件名 |
params[1] | String | 目标文件名 |
params[2] | int | 0:存在不覆盖 1:存在要覆盖 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
文件名全都可以是全路径,否则就是全局路径设置的路径。
函数说明:
创建指定目录
函数体:
int CreateFolder(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 目录名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
可以是全路径,否则就是全局路径设置的路径。
函数说明:
解密指定的文件
函数体:
int DecodeFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
params[1] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果此文件没加密,调用此函数不会有任何效果
函数说明:
删除指定的文件
函数体:
int DeleteFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
删除指定的文件夹
函数体:
int DeleteFolder(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 目录名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
删除指定的ini小节
函数体:
int DeleteIni(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名. 如果这个变量为空串,则删除整个section小节 |
params[2] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数是多线程安全的. 多线程同时读写同个文件不会造成文件错乱
函数说明:
删除指定的ini小节,支持加密文件
函数体:
int DeleteIniPwd(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名. 如果这个变量为空串,则删除整个section小节 |
params[2] | String | ini文件名 |
params[4] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
此函数是多线程安全的. 多线程同时读写同个文件不会造成文件错乱 如果此文件没加密,调用此函数会自动加密
函数说明:
从internet上下载一个文件
函数体:
int DownloadFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 下载的url地址 |
params[1] | String | 要保存的文件名 |
params[2] | String | 连接超时时间,单位是毫秒. |
返回值:
返回值 | 说明 |
---|---|
int | 1:成功 -1:网络连接失败 -2:写入文件失败 |
参考:
无
结果:
无
备注:
无
函数说明:
加密指定的文件
函数体:
int EncodeFile(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
params[1] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败,1:成功 |
参考:
无
结果:
无
备注:
如果此文件已经加密,调用此函数不会有任何效果
函数说明:
根据指定的ini文件以及section,枚举此section中所有的key名
函数体:
String EnumIniKey(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 每个key用"|"来连接,如果没有key,则返回空字符串. 比如"aaa|bbb|ccc" |
参考:
无
结果:
无
备注:
此函数无法枚举没有section的key
函数说明:
支持加密文件 根据指定的ini文件以及section,枚举此section中所有的key名
函数体:
String EnumIniKey(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | ini文件名 |
params[2] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
String | 每个key用"|"来连接,如果没有key,则返回空字符串. 比如"aaa|bbb|ccc" |
参考:
无
结果:
无
备注:
此函数无法枚举没有section的key,如果文件没加密,也可以正常读取
函数说明:
根据指定的ini文件,枚举此ini中所有的Section(小节名)
函数体:
String EnumIniSection(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 每个key用"|"来连接,如果没有key,则返回空字符串. 比如"aaa|bbb|ccc" |
参考:
无
结果:
无
备注:
无
函数说明:
根据指定的ini文件,枚举此ini中所有的Section(小节名),支持加密
函数体:
String EnumIniSectionPwd(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | ini文件名 |
params[1] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
String | 每个key用"|"来连接,如果没有key,则返回空字符串. 比如"aaa|bbb|ccc" |
参考:
无
结果:
无
备注:
如果文件没加密,也可以正常读取
函数说明:
获取指定的文件长度
函数体:
int GetFileLength(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 文件长度(字节数) |
参考:
无
结果:
无
备注:
如果文件没加密,也可以正常读取
函数说明:
获取指定文件或目录的真实路径
函数体:
String GetRealPath(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 路径名,可以是文件路径,也可以是目录. 这里必须是全路径 |
返回值:
返回值 | 说明 |
---|---|
String | 真实路径,如果失败,返回空字符串 |
参考:
无
结果:
无
备注:
这个功能可以获取到路径中有符号链接之后的,真实路径
函数说明:
判断指定文件是否存在
函数体:
int IsFileExist(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 不存在 1 : 存在 |
参考:
无
结果:
无
备注:
无
函数说明:
判断指定目录是否存在
函数体:
int IsFolderExist (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 目录名 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 不存在 1 : 存在 |
参考:
无
结果:
无
备注:
无
函数说明:
移动文件
函数体:
int MoveFile (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 原始文件名 |
params[1] | String | 目标文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
无
函数说明:
从指定的文件读取内容
函数体:
String ReadFile (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 文件内容 |
参考:
无
结果:
无
备注:
无
函数说明:
从Ini中读取指定信息
函数体:
String ReadIni (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名 |
params[2] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 字符串形式表达的读取到的内容 |
参考:
无
结果:
无
备注:
无
函数说明:
从Ini中读取指定信息
函数体:
String ReadIni (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名 |
params[2] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
String | 字符串形式表达的读取到的内容 |
参考:
无
结果:
无
备注:
无
函数说明:
弹出选择文件夹对话框,并返回选择的文件夹
函数体:
String SelectDirectory (Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 选择的文件夹全路径 |
参考:
无
结果:
无
备注:
无
函数说明:
弹出选择文件夹对话框,并返回选择的文件全路径
函数体:
String SelectFile (Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 选择的文件全路径 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定文件追加字符串
函数体:
int WriteFile (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 文件 |
params[1] | String | 写入的字符串 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定的Ini写入信息
函数体:
int WriteIni (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名 |
params[2] | String | 变量内容 |
params[3] | String | ini文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定的Ini写入信息,支持加密文件
函数体:
int WriteIniPwd (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 小节名 |
params[1] | String | 变量名 |
params[2] | String | 变量内容 |
params[3] | String | ini文件名 |
params[4] | String | 密码 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功 |
参考:
无
结果:
无
备注:
如果此文件没加密,调用此函数会自动加密
函数说明:
根据指定的位图创建一个自定义形状的窗口
函数体:
int CreateFoobarCustom (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果此值为0,那么就在桌面创建此窗口 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | String | 位图名字 |
params[4] | String | 透明色(RRGGBB) |
params[5] | double | 透明色的相似值 0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
int | 创建成功的窗口句柄 |
参考:
无
结果:
无
备注:
foobar不能在本进程窗口内创建
函数说明:
创建一个椭圆窗口
函数体:
int CreateFoobarEllipse (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果此值为0,那么就在桌面创建此窗口 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | int | 矩形区域的宽度 |
params[4] | int | 矩形区域的宽度 |
返回值:
返回值 | 说明 |
---|---|
int | 创建成功的窗口句柄 |
参考:
无
结果:
无
备注:
foobar不能在本进程窗口内创建
函数说明:
创建一个矩形窗口
函数体:
int CreateFoobarRect (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果此值为0,那么就在桌面创建此窗口 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | int | 矩形区域的宽度 |
params[4] | int | 矩形区域的宽度 |
返回值:
返回值 | 说明 |
---|---|
int | 创建成功的窗口句柄 |
参考:
无
结果:
无
备注:
foobar不能在本进程窗口内创建
函数说明:
创建一个圆角矩形窗口
函数体:
int CreateFoobarRoundRect (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄,如果此值为0,那么就在桌面创建此窗口 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | int | 矩形区域的宽度 |
params[4] | int | 矩形区域的宽度 |
params[5] | int | 圆角的宽度 |
params[6] | int | 圆角的高度 |
返回值:
返回值 | 说明 |
---|---|
int | 创建成功的窗口句柄 |
参考:
无
结果:
无
备注:
foobar不能在本进程窗口内创建
函数说明:
清除指定的Foobar滚动文本区
函数体:
int FoobarClearText (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
关闭一个Foobar,注意,必须调用此函数来关闭窗口,用SetWindowState也可以关闭,但会造成内存泄漏
函数体:
int FoobarClose (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
在指定的Foobar窗口内部画线条
函数体:
int FoobarDrawLine (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[1] | int | 右下角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 右下角Y坐标(相对于hwnd客户区坐标) |
params[3] | String | 填充的颜色值 |
params[4] | int | 画笔类型. 0为实线. 1为虚线 |
params[5] | int | 线条宽度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
当style为1时,线条宽度必须也是1.否则线条是实线
函数说明:
在指定的Foobar窗口绘制图像
函数体:
int FoobarDrawPic (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | String | 图像文件名 |
params[4] | String | 图像透明色 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
在指定的Foobar窗口绘制文字
函数体:
int FoobarDrawText (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | int | 矩形区域的宽度 |
params[4] | int | 矩形区域的高度 |
params[5] | String | 字符串 |
params[6] | String | 文字颜色值 |
params[7] | int | 取值定义如下 "1 :" 左对齐 "2 :" 中间对齐 "4 :" 右对齐 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
在指定的Foobar窗口内部填充矩形
函数体:
int FoobarFillRect (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | int | 矩形区域的宽度 |
params[4] | int | 矩形区域的高度 |
params[5] | String | 填充的颜色值 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
锁定指定的Foobar窗口,不能通过鼠标来移动
函数体:
int FoobarLock (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
向指定的Foobar窗口区域内输出滚动文字
函数体:
int FoobarPrintText (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | String | 文本内容 |
params[2] | String | 文本颜色 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
设置指定Foobar窗口的字体
函数体:
int FoobarSetFont (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | String | 系统字体名,注意,必须保证系统中有此字体 |
params[2] | int | 字体大小 |
params[3] | int | 取值如下 "0 :" 正常字体 "1 :" 粗体 "2 :" 斜体 "4 :" 下划线 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
文字可以是以上的组合 比如粗斜体就是1+2,斜体带下划线就是:2+4等
函数说明:
设置保存指定的Foobar滚动文本区信息到文件
函数体:
int FoobarSetSave (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | String | 保存的文件名 |
params[2] | int | 取值如下 "0 :" 关闭向文件输出 (默认是0) "1 :" 开启向文件输出 |
params[3] | String | 输出的附加头信息. (比如行数 日期 时间信息) 格式是如下格式串的顺序组合.如果为空串,表示无附加头 "%L0nd%" 表示附加头信息带有行号,并且是按照十进制输出. n表示按多少个十进制数字补0对齐,比如 "%L04d%" ,输出的行号为0001 0002 0003等. "%L03d",输出的行号为001 002 003..等. "%L0nx%" 表示附加头信息带有行号,并且是按照16进制小写输出. n表示按多少个16进制数字补0对齐. 比如 "%L04x%" ,输出的行号为0009 000a 000b等. "%L03x",输出的行号为009 00a 00b..等 "%L0nX%" 表示附加头信息带有行号,并且是按照16进制大写输出. n表示按多少个16进制数字补0对齐. 比如 "%L04X%" ,输出的行号为0009 000A 000B等. "%L03X",输出的行号为009 00A 00B..等 "%yyyy%"表示年 "%MM%"表示月 "%dd%"表示日 "%hh%"表示小时 "%mm%"表示分钟 "%ss%"表示秒 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
文字可以是以上的组合 比如粗斜体就是1+2,斜体带下划线就是:2+4等
函数说明:
设置指定Foobar窗口的是否透明
函数体:
int FoobarSetTrans (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 0为不透明(此时,color和sim无效),1为透明 |
params[2] | String | 透明色(RRGGBB) |
params[3] | double | 透明色的相似值 0.1-1.0 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
在指定的Foobar窗口绘制gif动画
函数体:
int FoobarStartGif (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | String | 图像文件名 |
params[4] | int | 表示重复GIF动画的次数,如果是0表示一直循环显示 |
params[5] | int | 表示每帧GIF动画之间的时间间隔.如果是0,表示使用GIF内置的时间 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
所有gif动画是在顶层显示,在默认绘图层和Print层之上. gif之间的显示顺序按照调用FoobarStartGif的顺序决定
函数说明:
停止在指定foobar里显示的gif动画
函数体:
int FoobarStopGif (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 左上角X坐标(相对于hwnd客户区坐标) |
params[2] | int | 左上角Y坐标(相对于hwnd客户区坐标) |
params[3] | String | 图像文件名 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
对于在不同的坐标显示的gif动画,插件内部会认为是不同的GIF.所以停止GIF时,一定要和FoobarStartGif时指定的x,y坐标一致
函数说明:
设置滚动文本区的文字行间距,默认是3
函数体:
int FoobarTextLineGap (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 文本行间距 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
设置滚动文本区的文字输出方向,默认是0
函数体:
int FoobarTextPrintDir (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | 0 表示向下输出,1 表示向上输出 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
设置指定Foobar窗口的滚动文本框范围,默认的文本框范围是窗口区域
函数体:
int FoobarTextRect (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
params[1] | int | x坐标 |
params[2] | int | y坐标 |
params[3] | int | 宽度 |
params[4] | int | 高度 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
解锁指定的Foobar窗口,可以通过鼠标来移动
函数体:
int FoobarUnlock (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
刷新指定的Foobar窗口
函数体:
int FoobarUpdate (Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的Foobar窗口句柄,此句柄必须是通过CreateFoobarxxx创建而来 |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
所有绘制完成以后,必须通过调用此函数来刷新窗口,否则窗口内容不会改变,注意!
暂不提供。
函数说明:
蜂鸣器
函数体:
int Beep(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 频率 |
params[1] | int | 时长(ms) |
返回值:
返回值 | 说明 |
---|---|
int | 0:成功 1:失败 |
参考:
无
结果:
无
备注:
无
函数说明:
检测当前系统是否有开启屏幕字体平滑
函数体:
int CheckFontSmooth(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 系统没开启平滑字体 1 : 系统有开启平滑字体 |
参考:
无
结果:
无
备注:
无
函数说明:
延时指定的毫秒,过程中不阻塞UI操作.
函数体:
int Delay(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 毫秒数. 必须大于0 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
使用Java的Thread.sleep就行,此函数多数情况下不常用。
函数说明:
延时指定的毫秒,过程中不阻塞UI操作.
函数体:
int Delays(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 最小毫秒数. 必须大于0 |
params[1] | int | 最大毫秒数. 必须大于0 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
使用Java的Thread.sleep就行,此函数多数情况下不常用。
函数说明:
延时指定的毫秒,过程中不阻塞UI操作.
函数体:
int DisableCloseDisplayAndSleep(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
无
函数说明:
关闭当前系统屏幕字体平滑.同时关闭系统的ClearType功能
函数体:
int DisableFontSmooth(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
无
函数说明:
关闭电源管理,不会进入睡眠
函数体:
int DisablePowerSave(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
无
函数说明:
关闭屏幕保护
函数体:
int DisableScreenSave(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
开启当前系统屏幕字体平滑.同时开启系统的ClearType功能
函数说明:
关闭屏幕保护
函数体:
int EnableFontSmooth(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
退出系统(注销 重启 关机)
函数说明:
关闭屏幕保护
函数体:
int ExitOs(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 : 注销系统 1 : 关机 2 : 重新启动 |
返回值:
返回值 | 说明 |
---|---|
int | 0 : 成功 1 : 失败 |
参考:
无
结果:
无
备注:
无
函数说明:
获取剪贴板的内容
函数体:
String GetClipboard(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 以字符串表示的剪贴板内容 |
参考:
无
结果:
无
备注:
无
函数说明:
获取当前CPU类型(intel或者amd).
函数体:
int GetCpuType(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : 未知 1 : Intel cpu 2 : AMD cpu |
参考:
无
结果:
无
备注:
无
函数说明:
获取当前CPU的使用率. 用百分比返回
函数体:
int GetCpuUsage(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0-100表示的百分比 |
参考:
无
结果:
无
备注:
无
函数说明:
得到系统的路径
函数体:
String GetDir(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 : 获取当前路径 1 : 获取系统路径(system32路径) 2 : 获取windows路径(windows所在路径) 3 : 获取临时目录路径(temp) 4 : 获取当前进程(exe)所在的路径 |
返回值:
返回值 | 说明 |
---|---|
String | 返回路径 |
参考:
无
结果:
无
备注:
无
函数说明:
获取本机的指定硬盘的厂商信息. 要求调用进程必须有管理员权限. 否则返回空串
函数体:
String GetDiskModel(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 硬盘序号. 表示是第几块硬盘. 从0开始编号,最小为0,最大为5,也就是最多支持6块硬盘的厂商信息获取 |
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的硬盘厂商信息 |
参考:
无
结果:
无
备注:
无
函数说明:
获取本机的指定硬盘的修正版本信息. 要求调用进程必须有管理员权限. 否则返回空串
函数体:
String GetDiskReversion(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 硬盘序号. 表示是第几块硬盘. 从0开始编号,最小为0,最大为5,也就是最多支持6块硬盘的厂商信息获取 |
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的修正版本信息 |
参考:
无
结果:
无
备注:
无
函数说明:
获取本机的指定硬盘的序列号. 要求调用进程必须有管理员权限. 否则返回空串
函数体:
String GetDiskSerial(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 硬盘序号. 表示是第几块硬盘. 从0开始编号,最小为0,最大为5,也就是最多支持6块硬盘的厂商信息获取 |
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的硬盘序列号 |
参考:
无
结果:
无
备注:
无
函数说明:
获取本机的显卡信息
函数体:
String GetDisplayInfo(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的显卡描述信息. 如果有多个显卡,用"|"连接 |
参考:
无
结果:
无
备注:
无
函数说明:
判断当前系统的DPI(文字缩放)是不是100%缩放.
函数体:
int GetDPI(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:是 1:不是 |
参考:
无
结果:
无
备注:
无
函数说明:
判断当前系统使用的非UNICODE字符集是否是GB2312(简体中文)(由于设计插件时偷懒了,使用的是非UNICODE字符集,导致插件必须运行在GB2312字符集环境下).
函数体:
int GetLocale(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:是 1:不是 |
参考:
无
结果:
无
备注:
GB2312,java项目字符也要注意
函数说明:
获取本机的机器码.(带网卡). 此机器码用于插件网站后台. 要求调用进程必须有管理员权限. 否则返回空串.
函数体:
String GetMachineCode(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的机器机器码 |
参考:
无
结果:
无
备注:
此机器码包含的硬件设备有硬盘,显卡,网卡等,重装系统不会改变此值插拔任何USB设备,(U盘,U盾,USB移动硬盘,USB键鼠等),以及安装任何网卡驱动程序,(开启或者关闭无线网卡等)都会导致机器码改变.
函数说明:
获取本机的机器码.(不带网卡). 此机器码用于插件网站后台. 要求调用进程必须有管理员权限. 否则返回空串.
函数体:
String GetMachineCodeNoMac(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 字符串表达的机器机器码 |
参考:
无
结果:
无
备注:
此机器码包含的硬件设备有硬盘,显卡,网卡等,重装系统不会改变此值插拔任何USB设备,(U盘,U盾,USB移动硬盘,USB键鼠等),都会导致机器码改变.
函数说明:
获取当前内存的使用率. 用百分比返回
函数体:
int GetMemoryUsage(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0-100表示的百分比 |
参考:
无
结果:
无
备注:
无
函数说明:
从网络获取当前北京时间
函数体:
String GetNetTime(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
String | 时间格式. 和now返回一致. 比如"2001-11-01 23:14:08" |
参考:
无
结果:
无
备注:
如果程序无法访问时间服务器,那么返回"0000-00-00 00:00:00"
函数说明:
根据指定时间服务器IP,从网络获取当前北京时间
函数体:
String GetNetTime(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | IP或者域名,并且支持多个IP或者域名连接 |
返回值:
返回值 | 说明 |
---|---|
String | 时间格式. 和now返回一致. 比如"2001-11-01 23:14:08" |
参考:
无
结果:
无
备注:
如果程序无法访问时间服务器,那么返回"0000-00-00 00:00:00" 时间服务器的IP可以从网上查找NTP服务器
函数说明:
得到操作系统的build版本号. 比如win10 16299,那么返回的就是16299. 其他类似
函数体:
int GetOsBuildNumber(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 失败返回0,否则就是版本号 |
参考:
无
结果:
无
备注:
无
函数说明:
得到操作系统的类型
函数体:
int GetOsType(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0 : win95/98/me/nt4.0 1 : xp/2000 2 : 2003/2003 R2/xp-64 3 : win7/2008 R2 4 : vista/2008 5 : win8/2012 6 : win8.1/2012 R2 7 : win10/2016 TP |
参考:
无
结果:
无
备注:
无
函数说明:
获取屏幕的色深
函数体:
int GetScreenDepth(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回系统颜色深度.(16或者32等) |
参考:
无
结果:
无
备注:
无
函数说明:
获取屏幕的高度
函数体:
int GetScreenHeight(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回屏幕的高度 |
参考:
无
结果:
无
备注:
无
函数说明:
获取屏幕的宽度
函数体:
int GetScreenWidth(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 返回屏幕的宽度 |
参考:
无
结果:
无
备注:
无
函数说明:
获取当前系统从开机到现在所经历过的时间,单位是毫秒
函数体:
int GetTime(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 时间(单位毫秒) |
参考:
无
结果:
无
备注:
无
函数说明:
判断当前系统是否是64位操作系统
函数体:
int Is64Bit(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:不是 1:是 |
参考:
无
结果:
无
备注:
无
函数说明:
判断当前CPU是否支持vt,并且是否在bios中开启了vt. 仅支持intel的CPU
函数体:
int IsSurrpotVt(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:当前cpu不是intel的cpu,或者当前cpu不支持vt,或者bios中没打开vt 1:支持 |
参考:
无
结果:
无
备注:
无
函数说明:
播放指定的MP3或者wav文件
函数体:
int Play(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 指定的音乐文件,可以采用文件名或者绝对路径的形式 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 非0表示当前播放的ID。可以用Stop来控制播放结束. |
参考:
无
结果:
无
备注:
无
函数说明:
运行指定的应用程序
函数体:
int RunApp(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 指定的可执行程序全路径 |
params[1] | int | 0 : 普通模式 1 : 加强模式 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
函数说明:
设置剪贴板的内容
函数体:
int SetClipboard(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | String | 以字符串表示的剪贴板内容 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
函数说明:
设置当前系统的硬件加速级别
函数体:
int SetDisplayAcceler(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 取值范围为0-5. 0表示关闭硬件加速。5表示完全打开硬件加速 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
此函数只在XP 2003系统有效
函数说明:
设置当前系统的非UNICOD字符集. 会弹出一个字符集选择列表,用户自己选择到简体中文即可.
函数体:
int SetLocale(Object[] params)
参数列表:
无
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
函数说明:
设置系统的分辨率 系统色深
函数体:
int SetScreen(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 屏幕宽度 |
params[1] | int | 屏幕高度 |
params[2] | int | 系统色深 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
函数说明:
设置当前系统的UAC(用户账户控制)
函数体:
int SetUAC(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 0 : 关闭UAC 1 : 开启UAC |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
只有WIN7 WIN8 VISTA WIN2008以及以上系统才有UAC设置. 关闭UAC以后,必须重启系统才会生效 如果关闭了UAC,那么默认启动所有应用程序都是管理员权限,就不会再发生绑定失败这样的尴尬情况了
函数说明:
显示或者隐藏指定窗口在任务栏的图标
函数体:
int ShowTaskBarIcon(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | 指定的窗口句柄 |
params[1] | int | 0 : 隐藏 1 : 显示 |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
函数说明:
停止指定的音乐
函数体:
int Stop(Object[] params)
参数列表:
参数位置 | 参数类型 | 说明 |
---|---|---|
params[0] | int | Play返回的播放id |
返回值:
返回值 | 说明 |
---|---|
int | 0:失败 1:成功. |
参考:
无
结果:
无
备注:
无
等待添加。
等待添加。
蜀ICP备2021002870号-1