用webbrowser打开网页后,读取网页中验证码图片至 picturebox控件, .net framework 2.0和.netframework 4.0 已测试通过
注意:
在COM 页上, 选择 Microsoft HTML Object Library ,添加mshtml 的引用。
使用命名空间 using mshtml。
using mshtml;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WebBrowser_Image
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.txtUrl.Text = "http://www.21744.com/login.aspx";
this.webBrowser1.Navigate(this.txtUrl.Text);
}
private void btnGetImage_Click(object sender, EventArgs e)
{
//取得验证码
HtmlElement ImgeTag = webBrowser1.Document.All["V_Img"];
Image numPic = GetWebImage(webBrowser1, ImgeTag); // 得到验证码图片
pictureBox1.Image = numPic;
}
/// <summary>
/// 返回指定WebBrowser中图片<IMG></IMG>中的图内容
/// </summary>
/// <param name="WebCtl">WebBrowser控件</param>
/// <param name="ImgeTag">IMG元素</param>
/// <returns>IMG对象</returns>
private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
{
HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
HTMLBody body = (HTMLBody)doc.body;
IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址
Image oldImage = Clipboard.GetImage();
rang.add(Img);
rang.execCommand("Copy", false, null); //拷贝到内存
Image numImage = Clipboard.GetImage();
try
{
Clipboard.SetImage(oldImage);
}
catch
{
}
return numImage;
}
}
}
资源文件列表
WebBrowser_Image/app.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.exe , 9728
WebBrowser_Image/bin/Debug/WebBrowser_Image.exe.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.pdb , 22016
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe , 21464
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe.manifest , 490
WebBrowser_Image/Form1.cs , 1884
WebBrowser_Image/Form1.Designer.cs , 3843
WebBrowser_Image/Form1.resx , 5817
WebBrowser_Image/obj/Debug/DesignTimeResolveAssemblyReferences.cache , 1085
WebBrowser_Image/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6206
WebBrowser_Image/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.FileListAbsolute.txt , 794
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.GenerateResource.Cache , 847
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.ResolveComReference.cache , 700
WebBrowser_Image/obj/Debug/WebBrowser_Image.exe , 9728
WebBrowser_Image/obj/Debug/WebBrowser_Image.Form1.resources , 180
WebBrowser_Image/obj/Debug/WebBrowser_Image.pdb , 22016
WebBrowser_Image/obj/Debug/WebBrowser_Image.Properties.Resources.resources , 180
WebBrowser_Image/Program.cs , 499
WebBrowser_Image/Properties/AssemblyInfo.cs , 1370
WebBrowser_Image/Properties/Resources.Designer.cs , 2872
WebBrowser_Image/Properties/Resources.resx , 5612
WebBrowser_Image/Properties/Settings.Designer.cs , 1116
WebBrowser_Image/Properties/Settings.settings , 249
WebBrowser_Image/WebBrowser_Image.csproj , 4031
WebBrowser_Image/WebBrowser_Image.sln , 921
WebBrowser_Image/WebBrowser_Image.v11.suo , 27648
