7 个解决方案
#1
通过HTTP 得到网页的源文件,然后分析,不过如果验证吗是图片,那就需要图象识别,还是有很多学问的
#2
只是想用软件 登陆QQ,但是需要验证码,
现在账号密码研究出来了,就差验证码了,只需要让软件调用出验证码,人去输入点击提交登陆。 这个验证码怎么让软件调出来
现在账号密码研究出来了,就差验证码了,只需要让软件调用出验证码,人去输入点击提交登陆。 这个验证码怎么让软件调出来
#3
验证码是图片啊,必须用到图像识别技术
不知道,验证码包含哪写内容(中文?字母?数字?)
不知道,验证码包含哪写内容(中文?字母?数字?)
#4
英文+数字
怎么个图片识别技术?
怎么个图片识别技术?
#5
我只是需要图片显示出来,这涉及什么图片识别啊???迷糊了
#6
如果你经有了那张图片,知道了文件名,你直接显示出来不就可以吗。
#7
BOOL LoadBmpImage( LPCTSTR sbmpfile, CBitmap& bitmap)
{
CFile file;
if( !file.Open( sbmpfile, CFile::modeRead) )
return FALSE;
BITMAPFILEHEADER bmfheader;
if (file.Read((LPSTR)&bmfheader, sizeof(bmfheader)) != sizeof(bmfheader))
return FALSE;
DWORD npackeddiblen=file.GetLength() -sizeof(BITMAPFILEHEADER);
HGLOBAL hdib=::GlobalAlloc(GMEM_FIXED, npackeddiblen);
if (hdib== 0) return FALSE;
if (file.ReadHuge ((LPSTR)hdib, npackeddiblen) !=npackeddiblen )
{
::GlobalFree(hdib);
return FALSE;
}
BITMAPINFOHEADER &bmiheader=*(LPBITMAPINFOHEADER) hdib ;
BITMAPINFO &bminfo=*(LPBITMAPINFO)hdib ; // if bmiheader.biclrused is zero we have to infer the number
int ncolors=bmiheader.biClrUsed ? bmiheader.biClrUsed : 1 << bmiheader.biBitCount;
LPVOID lpdibbits;
if( bminfo.bmiHeader.biBitCount> 8 )
lpdibbits = (LPVOID)((LPDWORD)(bminfo.bmiColors + bminfo.bmiHeader.biClrUsed) +
((bminfo.bmiHeader.biCompression == BI_BITFIELDS) ? 3 : 0));
else
lpdibbits = (LPVOID)(bminfo.bmiColors + ncolors);
CClientDC dc(NULL);
HBITMAP hbmp = CreateDIBitmap( dc.m_hDC, // handle to device context
&bmiheader, // pointer to bitmap size and format data
CBM_INIT, // initialization flag
lpdibbits, // pointer to initialization data
&bminfo, // pointer to bitmap color-format data
DIB_RGB_COLORS); // color-data usage
DWORD dwRet=GetLastError();
bitmap.Attach( hbmp );
if(!bitmap.m_hObject)
{
return FALSE;
}
if( poldpalette )
dc.SelectPalette( poldpalette, FALSE );
::GlobalFree(hdib);
return TRUE;
}
#1
通过HTTP 得到网页的源文件,然后分析,不过如果验证吗是图片,那就需要图象识别,还是有很多学问的
#2
只是想用软件 登陆QQ,但是需要验证码,
现在账号密码研究出来了,就差验证码了,只需要让软件调用出验证码,人去输入点击提交登陆。 这个验证码怎么让软件调出来
现在账号密码研究出来了,就差验证码了,只需要让软件调用出验证码,人去输入点击提交登陆。 这个验证码怎么让软件调出来
#3
验证码是图片啊,必须用到图像识别技术
不知道,验证码包含哪写内容(中文?字母?数字?)
不知道,验证码包含哪写内容(中文?字母?数字?)
#4
英文+数字
怎么个图片识别技术?
怎么个图片识别技术?
#5
我只是需要图片显示出来,这涉及什么图片识别啊???迷糊了
#6
如果你经有了那张图片,知道了文件名,你直接显示出来不就可以吗。
#7
BOOL LoadBmpImage( LPCTSTR sbmpfile, CBitmap& bitmap)
{
CFile file;
if( !file.Open( sbmpfile, CFile::modeRead) )
return FALSE;
BITMAPFILEHEADER bmfheader;
if (file.Read((LPSTR)&bmfheader, sizeof(bmfheader)) != sizeof(bmfheader))
return FALSE;
DWORD npackeddiblen=file.GetLength() -sizeof(BITMAPFILEHEADER);
HGLOBAL hdib=::GlobalAlloc(GMEM_FIXED, npackeddiblen);
if (hdib== 0) return FALSE;
if (file.ReadHuge ((LPSTR)hdib, npackeddiblen) !=npackeddiblen )
{
::GlobalFree(hdib);
return FALSE;
}
BITMAPINFOHEADER &bmiheader=*(LPBITMAPINFOHEADER) hdib ;
BITMAPINFO &bminfo=*(LPBITMAPINFO)hdib ; // if bmiheader.biclrused is zero we have to infer the number
int ncolors=bmiheader.biClrUsed ? bmiheader.biClrUsed : 1 << bmiheader.biBitCount;
LPVOID lpdibbits;
if( bminfo.bmiHeader.biBitCount> 8 )
lpdibbits = (LPVOID)((LPDWORD)(bminfo.bmiColors + bminfo.bmiHeader.biClrUsed) +
((bminfo.bmiHeader.biCompression == BI_BITFIELDS) ? 3 : 0));
else
lpdibbits = (LPVOID)(bminfo.bmiColors + ncolors);
CClientDC dc(NULL);
HBITMAP hbmp = CreateDIBitmap( dc.m_hDC, // handle to device context
&bmiheader, // pointer to bitmap size and format data
CBM_INIT, // initialization flag
lpdibbits, // pointer to initialization data
&bminfo, // pointer to bitmap color-format data
DIB_RGB_COLORS); // color-data usage
DWORD dwRet=GetLastError();
bitmap.Attach( hbmp );
if(!bitmap.m_hObject)
{
return FALSE;
}
if( poldpalette )
dc.SelectPalette( poldpalette, FALSE );
::GlobalFree(hdib);
return TRUE;
}