找回密码
 加入
搜索
查看: 4273|回复: 5

[系统综合] 如何使用dllcall操纵其他dll文件? 相关dll和说明已准备好[已解决]

[复制链接]
发表于 2011-8-12 15:27:43 | 显示全部楼层 |阅读模式
本帖最后由 tsys 于 2012-1-3 10:33 编辑

小弟初学au3,对与dllcall命令还是很不清楚,今天在论坛休闲娱乐区发帖好不容易赚了点金币,买了次世代验证码的附件,居然没dll。
在网上找到 亦思验证码识别系统,苦于不会使用,故希望大家给出个例子:打开本地验证码图片,结果放在本地的文本里面,不论扫描的是否准确,只求使用方法

以下是ycode.dll调用方式:

注意事项:调试模式请把DLL和辅助文件程序运行的目录下,其他文件也设置好相应路径,否则会调试出错。

DLL一共4主个命令,3个辅助命令,可以应对各种情况。

1.loadcode:载入验证码  
2.Recognition:识别
3.outitem:取项目名称
4.Writepic:保存图片

5.Recognitiond:另外一种识别,和识别1的区别是不需要传递指针参数。
6.yLength:返回识别结果长度。
7.tebie: 特殊方式处理图片时使用。

[in]:传入参数
[out]:接收参数

以下DLL对于整数型不需要用的就传递 0 ,文本不需要用的就传递 空文本。

文件说明:
ycode.dll主调用DLL,其他的为,辅助文件。

-----------------------------------------------------------------------------------
一般调用顺序为 loadcode - Recognition - Writepic
-----------------------------------------------------------------------------------
.DLL命令 loadcode, 整数型, "ycode.dll"    返回项目数
    [in].参数 code, 整数型    1)验证码库字节集指针地址
    [in].参数 Length, 整数型    2)指针长度
    [in].参数 Address, 文本型  3)验证码库的路径
    [in].参数 pass, 文本型   4)验证码库的密码
   
备注:1+2和3任意选一组就可以了.
      4.输入相应的密码,没有密码就传递一个空文本就可以了.

VB申明:   
Declare Function loadcode Lib "ycode.dll" Alias "loadcode" (ByVal code As Long, ByVal length As Long, ByVal address As String, ByVal pass As String) As Long


返回值
Long,返回项目个数。
-----------------------------------------------------------------------------------
.DLL命令 outitem, 文本型, "ycode.dll"    返回项目名称
    [in].参数 no, 整数型  1) 项目序号

VB申明:   
Declare Function outitem Lib "ycode.dll" Alias "outitem" (ByVal no As Long) As String

返回值
String,返回指定项目序号的项目名字。
-----------------------------------------------------------------------------------
.DLL命令 Recognition, 整数型, "ycode.dll"   返回识别结果内存指针
    [in].参数 ItemNo, 整数型   1)项目号
    [in].参数 picin, 整数型   2)图片内存指针地址
    [in].参数 Length, 整数型   3)指针长度
    [in].参数 Address1, 文本型   4)验证码网络路径
    [in].参数 Address2, 文本型   5)验证码本地路径
    [out].参数 lppicout, 整数型, 传址, 6)返回:图片指针
    [out].参数 lpLength, 整数型, 传址, 7)返回:指针长度
    [out].参数 cLength, 整数型, 传址, 8)返回:字符长度

   
备注:1,将按相应的序号载入相应识别库并识别,如只有一个项目那就传1。
      2+3或4或5任选一个。传递验证码图片数据或网络地址或本地图片路径,如果都不传递的话将按识别库中的默认数据获取。

VB申明:   
Declare Function Recognition Lib "ycode.dll" Alias "Recognition" (ByVal ItemNo As Long, ByVal picin As Long, ByVal Length As Long, ByVal Address1 As String, ByVal Address2 As String, lppicout As Long, lpLength As Long, cLength As Long) As Long

返回值
Long,返回识别结果字符指针。
-----------------------------------------------------------------------------------
.DLL命令 Writepic, 文本型, "ycode.dll"    返回图片长度
    [in].参数 c, 文本型   1)保存路径

自动把图片转换成bmp格式并保存,便于在控件中显示

备注: c如果为空的话就保存到"c:\code.bmp"

VB申明:
Declare Function Writepic Lib "ycode.dll" (ByVal c As String) As Long

返回值
Long,返回图片长度。
-----------------------------------------------------------------------------------
.DLL命令 Recognitiond, 整数型, "ycode.dll"   返回识别结果内存指针
    [in].参数 ItemNo, 整数型   1)项目号
    [in].参数 picin, 整数型   2)图片内存指针地址
    [in].参数 Length, 整数型   3)指针长度
    [in].参数 Address1, 文本型   4)验证码网络路径
    [in].参数 Address2, 文本型   5)验证码本地路径

   
备注:1,将按相应的序号载入相应识别库并识别。
      2+3或4或5任选一个。传递验证码图片数据或网络地址或本地图片路径,如果都不传递的话将按识别库中的默认数据获取。

VB申明:   
Declare Function Recognition Lib "ycode.dll" Alias "Recognition" (ByVal ItemNo As Long, ByVal picin As Long, ByVal Length As Long, ByVal Address1 As String, ByVal Address2 As String) As Long

返回值
Long,返回识别结果字符指针。
-----------------------------------------------------------------------------------
.DLL命令 yLength, 整数型, "ycode.dll"   返回识别结果长度

备注: 字符长度不定的情况下使用。

VB申明:
Declare Function yLength Lib "ycode.dll"  As Long

返回值
Long,返回识别结果长度。

-----------------------------------------------------------------------------------
.DLL命令 ytebie, 整数型, "ycode.dll"   返回当前状态

备注: 特殊方式处理图片时使用。

VB申明:
Declare Function ytebie Lib "ycode.dll" () As Long

返回值
Long,返回1表示开启特殊模式,0表示关闭。
--------------------------------------------------------------------------------------------------------------------------------------
不知道怎么搞的,只能传2个附件,易思的主程序对于此帖也没什么用,如果有需要就联系吧
 楼主| 发表于 2011-8-12 15:29:14 | 显示全部楼层


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-8-12 18:21:44 | 显示全部楼层
自己顶起来,难道论坛就没有高手?
发表于 2011-8-12 20:07:11 | 显示全部楼层
我只用过通用认证码识别
 楼主| 发表于 2011-8-12 20:26:49 | 显示全部楼层
回复 4# pcbar

回楼上的,我只是想知道如何用au3的dllcall去使用的这个ycode.dll,因为是初学,所以不知道如何去操纵这些参数,看来大家都是被标题上的验证码吓到了
发表于 2011-8-14 00:03:30 | 显示全部楼层
回复  pcbar

回楼上的,我只是想知道如何用au3的dllcall去使用的这个ycode.dll,因为是初学,所以不知道 ...
tsys 发表于 2011-8-12 20:26


嗯,好难呀,被你嘎倒了……
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 19:41 , Processed in 0.114376 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表