资源简介
亦思验证码C++调用封装库,支持网络图片,本地图片,内存图片的识别。在官方的dll实例中只有VB、delp、易语言的例子,没有VC的,今天刚好用到,简单封装了下,分享下,讨论下:QQ:103.626,571
//////////////////调用示例//////////////////////
int item = 3;
cVcode::init("all.fc", "123456");
//网络地址验证码
CString code = cVcode::getNetCode("http://www.xxx.net/UsreAdmin/HouseMgr/validatecode.asp", item);
wcout<<code.GetString()<<endl;
//本地验证码
CString code2 = cVcode::getLocalCode("c:/yfwcode.bmp", item);
wcout<<code2.GetString()<<endl;
//内存中的验证码
HttpLib lib;
CMemFile file;
lib.getFile("http://www.xxx.net/UsreAdmin/HouseMgr/validatecode.asp", &file);
CString code3 = cVcode::getMemCode(file, item);
wcout<<code3.GetString()<<endl;
代码片段和文件信息
#include “StdAfx.h“
#include “cVcode.h“
using namespace std;
void cVcode::exit()
{
isInit = FALSE;
FreeLibrary(hdll);
}
BOOL cVcode::init( char * libPath char * pwd )
{
try{
hdll = LoadLibrary(L“ycode.dll“);
loadcode = (lpLoadCode)GetProcAddress(hdll “loadcode“);
recognition = (lpRecognition)GetProcAddress(hdll “Recognitiond“);
//加载验证码库
loadcode(00libPathpwd);
isInit = TRUE;
return TRUE;
}catch(exception &e){
cout<<“Exception:“< return FALSE;
}
}
CString cVcode::getNetCode( CString &picUrl int &itemId )
{
if (!isInit) return ““;
USES_CONVERSION;
char * _picUrl = T2A(picUrl);
try{
char * code = recognition(itemId 0 0 _picUrl ““);
CString rst;
rst.Format(L“%s“ A2T(code));
return rst;
}catch(exception &e){
cout<<“Exception:“< return ““;
}
}
CString cVcode::getLocalCode( CString &picPath int &itemId )
{
if (!isInit) return ““;
USES_CONVERSION;
char * _picPath = T2A(picPath);
try{
char * code = recognition(itemId 0 0 ““ _picPath);
CString rst;
rst.Format(L“%s“ A2T(code));
return rst;
}catch(exception &e){
cout<<“Exception:“< return ““;
}
}
CString cVcode::getMemCode( CMemFile &file int &itemId )
{
if (!isInit) return ““;
USES_CONVERSION;
try{
int dataLen = file.GetLength();
byte * dataByte = new byte[dataLen];
file.SeekToBegin();
file.Read(dataByte dataLen);
char * code = recognition(itemId (long)dataByte dataLen ““ ““);
delete [] dataByte;
CString rst;
rst.Format(L“%s“ A2T(code));
return rst;
}catch(exception &e){
cout<<“Exception:“< return ““;
}
}
lpRecognition cVcode::recognition = NULL;
lpLoadCode cVcode::loadcode = NULL;
HINSTANCE cVcode::hdll = NULL;
BOOL cVcode::isInit = FALSE;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1373 2011-01-21 18:50 cVcode.h
文件 1893 2011-01-21 18:39 cVcode.cpp
文件 595 2011-01-21 18:58 使用例子.txt
----------- --------- ---------- ----- ----
3861 3
相关资源
- hid.lib setupapi.lib 等HID开发相关的库和
- 房屋销售管理系统C++
- 条件平差的 C++代码
- MFC下好用的高速绘图控件-(Hight-Spe
- usb_hid_vc++6.0读写设备源码
- 换肤窗口VC++程序与源码
- 数据结构算法与应用--C++语言描述(代
- 非常好用的c++ ftp库源码vs2013工程
- C++实现的非常好的一个矩阵类
- VC++6.0写的网络爬虫程序
- 数据结构 银行排队系统
- c++11的中文文档
- C++调用百度地图案例VC++
- MFC 窗口缩放
- AES加密源码使用C++实现
- 最新版Zlib1.2.5 编译好 支持vc6.0
- C++MFC画圆源代码
- 纯C++打造的Splash Screen类打造专业的启
- MUSIC算法c++实现
- C/C++语言图像处理:各种滤波
- 课程设计课程表.zip
- VC++wav文件的读写
- C++ 垃圾代码生成器
- 数据结构算法与应用--C++语言描述(代
- Modbus C++
- 生产者消费者问题c++实现
- windows下获取音频信息(C++实现).
- VC++实现动态捆绑EXE文件
- 人工蜂群算法源代码c++,matlab
- c++ 本地代理服务器源码
评论
共有 条评论