在做发贴机,灌水机,自动登录等情况时,如果遇到图片验证码的情形,就需要做验证码分析了,这时将验证码图片读入内存或保存在本地,就是必须的了
当然,使用WebClient直接download验证码图片回来,是可以实现的,但是这样的话,实际上是请求了2次验证码,而直接从webbrowser中,将验证码提取出来的话,就可以免去一次网络通信,而且,也可以应付一些网站的每次随验证码动态返回的其他附属验证信息对自动登录造成的影响。
.NET 自带的 WebBrowser 控件,使用起来可以说是相当方便了,微软
已经对其进行了比较完美的封装,但所谓“有得必有失”,正是这种封装,也使得该控件的一些底层信息,全都看不到了。
我们要实现的功能,就是利用了IE的DOM,这个在 WebBrowser 中,就无能为力了, 所以,我们这里要使用 mshtml 这个COM对象。
- 先添加对 mshtml 的引用, 在 COM 页上, 选择 Microsoft HTML Object Library
- 使用命名空间 using mshtml;
- 核心代码
HTMLDocument
html = (HTMLDocument
)this
.webBrowser1.Document.DomDocument;
//下面代码中,获取图片的方式有很多,因为比较简单,我就不列举了,直接用ID来做为例子的
IHTMLControlElement
img = (IHTMLControlElement
)webBrowser1.Document.Images["MzImgExpPwd"
].DomElement;
IHTMLControlRange
range = (IHTMLControlRange
)((HTMLBody
)html.body).createControlRange();
range.add(img);
range.execCommand("Copy"
, false
, null
);
img = null
;
range = null
;
html = null
;
if
(Clipboard
.ContainsImage())
{
this
.pictureBox1.Image = Clipboard
.GetImage();
}
else
{
MessageBox
.Show("执行不成功"
);
}
Clipboard
.Clear();
分享到:
相关推荐
1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...
C#获取验证码图片 添加MSHTML引用 添加MSHTML引用 添加MSHTML引用
WebBrowser组件和MSHTML 在Delphi中的使用.doc
mshtml.dll 功能很强大 配合webbrowser 使用很好用的底层控件
在webbrowser中查找字符串并定位 把图片拷贝进剪贴板 IHTMLDocument的ExecCommand 处理事件的Internet Explorer中的DOM 禁止WebBrowser右键弹出菜单 禁止TWebBrowser图像显示 访问HTML的DOM不使用WebBrowser 如何...
Internet Explorer 不只是一个程序,更是许多可重复使用组件的集合与容器。在拆取 Web 页时,最有意思的两个组件是 shdocvw.dll 和 ...第二个组件 mshtml.dll,含有能分析 WebBrowser 控件中所包含文档的 HTML 分析器。
mshtml操作html表格合并拆分 参数为当前单元格,单元格所在行 单元格所在表格
在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义...
MSHTML.h把HTML页面中的元素封装成了IHTMLInputElement、IHTMLInputButtonElement、IHTMLInputTextElement、IHTMLTextAreaElement、...用webbrowser加上MSHTML.h可以实现把网页信息获取到浏览器组件中。
VC HTML操作教程。需要操作IE控件或其它功能,可以看看。
1.将32位的mshtml.dll文件复制到SysWow64 文件夹下,将64位的mshtml.dll文件复制到SysWow32 文件夹下 2.以管理员身份打开cmd,进入C:\Windows\SysWOW64>regsvr32 mshtml.dll 3.C:\Windows\system32>regsvr32 mshtml....
vb.net WPF webbrowser 自定义浏览器V1.1 非源码 参考了 ExtendedWebBrowser2 WebImageList mshtml webbroser、javascript交互等多种资料和技术文档 相对完善地实现了 菜单栏 工具栏 收藏栏 状态栏 1.0版因搜索...
mshtml.dll,引用到项目中即可使用。
Microsoft mshtml
C++ 使用MSHTML分析html ,对MSHTML分析html简单介绍
mshtml,解决重新注册regsvr32 mshtml.dll 时显示没有找到输入
MSHTML最好用的HTML解析程序,最好用的HTMLParser,比HtmlAgilityPack好用一万倍
microsoft.mshtml.dll 7.0.3300.1
C#语言写的.可以像其他控件一样使用,尤其是显示和编辑html格式的邮件